找到文件列表中自动添加的main.cpp文件,双击打开(如下示例):
#include "dialog.h" // (1)
#include <QApplication> // (2)
int main(int argc, char *argv[]) // (3)
{
QApplication a(argc, argv); // (4)
Dialog w; // 创建1个对话框对象
w.show(); // (5)
return a.exec(); // (6)
}
(1)#include "dialog.h"
包含了程序中药完成功能的Dialog类的定义,在Dialog类中封装完成所需要的功能。注意,使用哪个类就必须将包含该类的头文件引用过来。例如,若用到一个按钮类,则必须在此处添加一行代码:#include <QPushButton>,这表明包含了按钮(QPushButton)类的定义。
(2)#include <QApplication>
Application类的定义。在每个使用Qt图形化应用程序中都必须使用一个QApplication对象。QApplication管理了各种各样的图形化应用程序的广泛资源、基本设置、控制流及事件处理等。
(3)int main(int argc, char *argv[])
应用程序的入口,几乎在所有使用Qt的情况下,main()函数只需要在将控制转交给Qt库之前执行初始化,然后Qt库通过事件向程序告知用户的行为。所有Qt程序中都必须有且只有一个main()函数。main()函数有2个参数,即argc和argv。argc是命令行变量的数量,argv是命令行变量的数组。
(4)QApplication a(argc, argv)
a是这个程序的QApplication对象。在任何Qt的窗口系统部件被使用之前必须创建QApplication对象。它在这里被创建并且处理这些命令行变量。所有被Qt识别的命令行参数都将从argv中被移去(并且argc也因此而减少)。
(5)w.show()
当创建1个窗口部件的时候,默认它是不可见的,必须调用show()函数使它变为可见。
(6)return a.exec()
程序进入消息循环,等待可能的输入进行响应。这里就是main()函数将控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时候,exec()函数的值就会返回。在exec()函数中,Qt接收并处理用户和系统的事件并且将它们传递给适当的窗口部件。
参考书籍:《 Qt 5开发及实例 (第4版) (含典型案例视频分析) 》 陆文周 主编