QT简介
- QT主要有两种编译器:(Windows系统)
- MSVC编译器,也就是微软的vc编译器,需要visual studio环境的支持,其中分为32位 和 64位版。需要安装:Windows 10 SDK (Software Development Kit,必须勾选
Debugging Tools for Windows这个选项。 - 另一个就是minGW编译器,也就是gcc编译器,只不过在Windows下作了封装而已,这个版本不需要VS环境的支持,可以独立生成Windows平台的应用程序。
- 建议安装勾选

- 工程类型选择

- 工程的选项

QMainWindow做出来的就是经常看到的窗口形式的GUI。
QDialog:与机器对话,有Next、Cancle这些菜单。

- UI可编辑可图形拖拽描述文件

- 工程设置文件

- 工程名字 2. 记录工程包含哪些文件 3.需要哪些库的支持
- 当前激活的工程

在非活动工程右键可以将工程设置为活动工程。


建议显示类视图在编辑代码的时候。


- 项目管理文件

- UI设计界面



- 绑定按钮的执行函数

- 对应关系

- 设计文件转换成C++代码

- Ui_Wiget类


- Widget类中主要是有个指针指向了自己的类型,而Widget又继承了Ui_Widget类(根据设计文件自动生成的)。
- 之后通过Widget->ui这个指针就可以操作Ui_Widget中所有的public成员方法和属性。
- QWidget、Ui_Widget、Widget之间的关系

- namespace:定义两个不同作用域相同名字的类


- 使用构造函数的形式改写上面代码

- 子类调用基类的构造函数



- ui对象注册事件回调函数


槽函数和UI对象自动通过名字连接



有自动连接后就不用写connect函数手动连接ui对象和槽函数了。
为应用程序添加图标



QT库元对象


- qobject_cast是Qt添加的一个强制类型转换的检测关键字。类似与C++标准定义的dymanic_cast。
- qobject_cast使用需要在类中添加Q_OBJECT宏。






读共享写拷贝:size只会指向map.values(2),只有在size需要改变map.values的时候才会拷贝一份,而达到不会改变原来的map.values的值。
错误的代码:map.values(2).begin() 和 map.values(2).end() 是在遍历开始和遍历中取map的值,这两个时刻的map值很可能不一样。map.values(2).end() 运行时拿到的值很可能是一份拷贝的值(改写后的)。
QT的模块










Spinbox

SpinBox和LineEdie:SpinBox的值是整或浮点型,LineEdit的值是字符串。
1 | chown -R git:git ./gitea |
其他控件

- 本文作者: 龙兄嵌入式
- 本文链接: https://hexo.880755.xyz/2022/06/05/QT/