《Qt Creator快速入门》第二章总结

1. 第1,2和22行是预处理指令,避免该头文件多重包含。命名空间Ui中的前置声明是为了加快编译速度,也可以避免在一个头文件中随意包含其他头文件而产生错误。这并不需要该类的完整定义,所以可以使用前置声明。这样就不用在这里添加ui_hellodialog.h的头文件包含,而可以将其放到hellodialog.cpp文件中进行头文件包含。第12行定义了Q_OBJECT宏,扩展了普通C++类的功能,具备信号和槽功能。必须在类定义的最开始处来定义这个宏。第15行是显式构造函数,参数是用来指定父窗口的,默认是没有父窗口的

《Qt Creator快速入门》第二章总结

2. 创建Ui::HelloDialog对象时,既可以在构造函数的函数体中进行创建也可以在构造函数的首部进行创建。

《Qt Creator快速入门》第二章总结

或者:

《Qt Creator快速入门》第二章总结

设置setupUi()函数的参数为this,表示为现在这个类所代表的对话框创建界面。

3.项目文件的详细信息:
第1~5行是注释信息,说明这个文件生成的时间。

第7行表明了这个项目使用的模块。core模块包含了Qt的核心功能,其他所有模块都依赖于这个模块;而gui模块提供了窗口系统集成、事件处理、OpenGL和OpenGL ES集成、2D图形、基本图像、字体和文本等功能。当使用qmake工具来构建项目时,core模块和gui模块是被默认包含的,这也是为什么前面手动编写项目文件时不添加这两个模块也可以编译的原因。其实所谓的模块,就是很多相关类的集合,读者可以在Qt帮助中查看Qt Core和Qt GUI关键字。

第9行添加了widgets模块,在Qt Widgets模块中提供了经典的桌面用户界面的UI元素集合,简单来说,所有C++程序用户界面部件都在该模块中。

第11行是生成的目标文件的名称,就是生成的exe文件的名字,默认的是项目的名称,当然也可以在这里改为别的名称。第12行使用app模板,表明这是个应用程序。

第15,18和20行分别是工程中包含的源文件、头文件和界面文件。

第22行就是添加的应用程序图标。这里这些文件都使用了相对路径,因为都在项目目录中,所以只写了文件名。

《Qt Creator快速入门》第二章总结