本文将分为6个部分总结
其实是从第一天的6个案例总结
01—------
建议学习QT前有一定的面向对象编程基础,无论是C++或者JAVA,因为QT是用C++编程,如果没有一定基础理解起来会比较困难。
上面是新建的一个工程文件,其中mywidget是默认是窗口基类,会自动创建好。如果你在项目创建中选择QWidget
先看Main函数,
这是Main函数的一个模板,在运行到MyWidget w的时候,会跳去运行MyWidget构造函数
对show()需要人为的显示,如果后面控件,部件多了,指定父对象,那么只要父对象显示就可以
在后期编程也是在构造函数中编写程序,对于头文件我没什么了解,不做总结
02-----------
编写第一个Hello World程序
在写的过程,主要运用到label标签的setText属性,重点是掌握到,指定父对象的两种方式:
- setParent
- 通过构造函数传参
03----------
学习QT的第一个重点
信号与槽
信号相当于信息,而槽就是接受信息并做出处理的东西,可以理解为接受信息的手机
这就是一个信号与槽的一个案例,注意4个参数都是指针类型,其中pressed是信号名字,不同的类可能有不同的信号触发模式或者名字。
而close是处理信号的槽函数
但是这样写过于麻烦,需要在头文件中声明函数,又需要定义函数,在c++11当中引入了Lambda表达式
需要注意的是[],在函数体内不能够引用外部的变量或者成员,需要加入=,this或者其他,这个表达式在后期也会很常用
还有一个重点就是信号
这个图片是我的一个案例,两个窗口互相切换,其中的信号与槽的一个逻辑,注意的是子窗口到父窗口的切换,父窗口切换到子窗口可以直接按钮信号发出,槽函数处理show hide。但是子窗口不可以,因为他没有包含父窗口这个类,所以只可以由按钮触发信号,给子窗口处理发射信号给父窗口,父窗口再处理
还学习到的是字符串打印,用str.toUtf8().data()
04----
主要介绍QT座标系统,以及内存资源问题
需要注意的是系统自动释放是再所有程序运行完毕并停止的时候才会释放,这个时候如果不停的NEW也会导致内存不足
05----
对菜单栏,对话框,浮动窗口等等的一个应用。
QMenuBar 菜单栏
QMenu 菜单
QAction 下拉菜单
QToolBar 工具栏
QStatusBar 状态栏
QDockWidget 浮动窗口
QTextEdit 文本编辑
--06
QMessageBox 对话框
QFileDialog 文件资源
不写了哈哈哈哈