前两节我们已经安装Qt环境,并且熟悉了QtCreator开发界面。本节接着前面的部分,分析讲解MyFirstWidget代码,并且提供一个非常有用的编程技巧,而且小豆君会在后续的分享中都会 适当的加入一些编程技巧,编程思想等,以方便大家的代码更精简有效。如果有不对的地方,也欢迎大牛们指出。
1.3.1 main.cpp
2 #include "myfirstwidget.h"34 int main(int argc, char *argv[])5 {6 QApplication a(argc, argv);78 MyFirstWidget w;9 w.show();10 return a.exec();11 }
为了叙述方便,现约定:在以后的代码分析中,方括号中的数字代表行号,例如【1-3】表示第1行到第3行的代码。
【1】包含QApplication类。
【2】包含myfirstwidget.h头文件,这是我们创建窗口类时,Qt自动为我们生成的头文件,且文件名都为小写。
【4-11】main函数。
【6】创建一个QApplication实例。
如果所创建的是一个窗口应用程序,那么必须要有且只有一个这样的实例,在创建QApplication实例后,会自动将指针赋值给Qt的全局变量qApp,如果想在其它地方使用QApplication实例,则可以直接调用qApp。因为QApplication实例会进行大量的初始化工作,所以要在使用任何对象之前就创建QApplication实例,因此,main函数开头便创建了QApplication实例。
如果创建的是一个非窗口的应用程序,那么可以调用QCoreApplication来创建实例。
QApplication主要做以下事情(只需了解即可):
- 使用用户的桌面设置,初始化应用程序,例如窗口的调色板,字体等。
- 执行事件处理。
- 也可根据命令行参数,设置自己的内部状态。
- 制定窗口样式,颜色调配,文字国际化。
- 设置剪切板,管理鼠标事件。
【8-9】创建MyFirstWidget实例,并显示。
【10】进入Qt的主循环事件。当调用exit()函数时,才会退出循环,退出main函数。当程序在准备退出主循环时,