创建QT程序
1) 类信息中三个类:QMainWindow, QWidget, QDialog都可以作为顶层窗口(程序打开时第一个弹出来的窗口)。
QWidget是所有窗口类的父类(控件也可以看成为窗口),QDialog是派生出来的对话框窗口(只有一个关闭),而“QMainWindow中在setUi时自动为用户创建了一个菜单栏、工具栏、中心窗口和状态栏。QWidget是没有这几点的。”
2)能否进行拖拽控件的操作取决于是否选择“创建界面”。
3)main.cpp
应用程序入口。QApplication:应用程序类(进入消息循环,每触发一个事件,就捕捉并判断进行处理)。每一个QT程序中有且只有一个。
4)MyWidget w; 窗口类创建出来默认是不显示的,需要调用成员函数show()。
5)return a.exec(); a是应用程序类实例,走到了后台进行消息循环。exec()内部是一个死循环,但遇到某个条件的时候(触发事件..)会跳出去,结束监督。
6) QT中类名和头文件名一致,且没有.h。当遇到类没有被声明/定义,直接include进来对应的头文件即可。
7)MyWidget为子类,派生自QWidget。Q_OBJECT是一个宏,如果要使用信号和槽就必须添加这个宏。
8).pro文件:
QT+=的是当前项目用到的模块(QT +=core gui)查询用到哪个模块:借助F1,看qmake:QT +=…部分。如果编译报错,又确定头文件加上了,那么可能是模块没有添加。按ESC推出帮助。
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets为了兼容以前的版本,5.0一下没有widgets模块。如果是单纯做QT5程序可以不加这句话,widgets写道QT+=后面就可以了。
换行:加””