当前位置: 首页 > news >正文

学习C++、QT---17(C++ 记事本项目的雏形实现)

每日一言

        别被一时的困难吓倒,你远比自己想象的更有力量。

记事本项目

我们来创建我们的第一个项目,我跟着的这个课程是项目引导学习的,这个我相信各位兄弟们也是很喜欢的,我个人也非常喜欢这样的教学模式。

这个就是我们记事本的项目的模样,我们根据这个模样开始做出产品,以后可以自己设计

现在开始

我们打开ui的设计的这个页面进行设计(点击widget.ui直接跳转)

我将原型图放在右边做参考

第一步、我们看到了原型图的保存和打开和关闭的三个图标,那么我们用左边的pushButton,为什么因为肯定是按钮啊,后期要实现功能的,所以选择BUtton,我们从左边拉3个出来

我们可以进行改名字,这个是好的习惯,改这个按钮对象的名字,比如我这边设计成openButton closeButton和saveButton,打开、关闭、保存嘛

还有这边我们肯定需要给我们的按钮取个名字啊,方便我们认啊,1、我们直接点击修改(容易错)2、我们不是已经给每个按钮对象都有名字吗,我们点击对应的后我们就可以看到左边三个对象会被选择对应的这个,那么我们可以根据这个特性来取名字、打开关闭保存

弄好之后、我们又发现,我们的原型图的明显都是很水平分布的,搞一排,还有背景

我们先处理水平分布的问题

我们用ctrl把这三个按钮对象选中,然后点击工具栏的水平布局,这样就可以实现了

看右边的是吧,也有布局将他们都包括在一起了,所以我们点击这个布局,就可以直接控制这三个,移动什么的

随后我们原型图上面不是三个按钮后面还需要背景嘛,所以我们这边选择Widget这个给他拖出来,这个可以设置我们的效果,拖出来后,鼠标右键会有一个更改样式表,然后点击添加颜色的小三角有更改background-color 我们选择喜欢的颜色进行设置

效果:

随后我们将这三个按钮放在我们的这个widget组件上,

会发生包含的关系,对比两个图,只要放在里面了,就会被包含,那么这样的话我只要点击这个widget,移动widget那么其中所有的按钮也会移动,因为  就等于是这个三个按钮属于widget,讲实话很像盒子,我们给东西装在了盒子里面,那么我们移动盒子,里面的东西也跟着走就是这种感觉

这边我们根据原型图会发现,还有一个这样的,但是我们可以不用选择按钮了,因为这个不是按钮,像是标签

所以我们用这个label来拉出来后,和我们之前的按钮一样操作

我们是记事本啊还有一个文本输出的地方,那么我们就要用这个Test Edit组件,我们可以不用去调整大小,我们用这个垂直布局的操作

前提是要选中他们所被包含的最大的那个容器吧,我就叫做容器,让右侧的三个我们用ctrl选中后进行垂直布局

这样就可以了

点击后,发现太小吧,所以我们给放大

记住我们放大的话可不能用拉大的方法直接拉了,找到我们的widget的参数选项框里面,就是这个黄色的,进行高度的设置,我们可以用这个minimumSize这个叫做最小尺寸,可以设置最小的宽度和高度,那我们调整是可以调整的,因为我们的原图的已经小于比如我们这边设置的45px了

好的我们运行出来看看,会发现,怎么用空隙啊,这个其实就是我们设置垂直布局的时候,垂直布局设置的各个组件之间的间隔

那么我们如果想要这个间隔的话也可以找到我们的垂直布局的那边进行设置

这个layoutspacing就是间距了。我们给他设置为0,就是无间距了

但是我们又发现一个问题啊,这个我们拉大窗口怎么不会跟着我窗口拉大而适应呢

这个其实就是QT的开发人员的一个BUG了,因为这个需要我们自己去解决,那怎么解决呢??

我们在这个widget.cpp中添加上this->setLayout(ui->verticalLayout)

OK啦,暂时实现了一个我们的记事本雏形

http://www.dtcms.com/a/266009.html

相关文章:

  • 深度学习1(深度学习和机器学习的区别,神经网络)
  • JNI实现Android音视频播放器的设计方案
  • 万字长文 探索 AI 智能体:架构设计与实际应用
  • Compose 常用命令详解——AI教你学Docker
  • Spring Cloud(微服务部署与监控)
  • P1073 [NOIP 2009 提高组] 最优贸易
  • qiankun - 微前端
  • 从0开始学习R语言--Day37--CMH检验
  • 基于InVEST模型生境质量评估、基于SoLVES社会价值评估、耦合度分析
  • 二位差分矩阵
  • L2CAP协议详解:分段重组、QoS控制与多协议复用设计(面试宝典)
  • SpringBoot论坛系统安全测试实战报告
  • 深入理解 Redis Cluster:分片、主从与脑裂
  • 轮椅租赁小程序开发源码php
  • 4-6WPS JS宏自定义函数变长参数函数(实例:自定义多功能数据统计函数)学习笔记
  • 【进阶篇-消息队列】——Kafka如何实现事务的
  • 贪心专题练习
  • 伞兵 钓鱼的肝
  • 【系统如何知道每个软件该去哪个源下载】
  • spring6合集——spring概述以及OCP、DIP、IOC原则
  • 大模型解码策略(Top-k Top-p Temperature)
  • 【前端开发】Uniapp分页器:新增输入框跳转功能
  • uniapp加上全局水印
  • 【如何判断Linux系统是Ubuntu还是CentOS】
  • 【Laravel】 Laravel 智能验证规则生成器
  • Java操作word实战
  • LiteHub中间件之跨域访问CORS
  • P2392 kkksc03考前临时抱佛脚(动态规划)
  • 纯前端批量下载
  • Python 爬虫实战 | 国家医保