🌿作者:阿润菜菜
📖专栏:QT开发
.pro 文件是什么
.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。类似于VS中的.sln 和vsproj文件
默认情况下,每个 Qt 项目都包含一个后缀名为.pro
、名称和项目名相同的文件。如该项目的项目名为Dashboard,其中Dashboard.pro 就是项目管理文件。
一个项目中可能包含上百个源文件,Qt 编译这些源文件的方法是:先由 qmake 工具根据 pro 文件记录的配置信息生成相应的 makefile 文件,然后执行 make 命令完成对整个项目的编译。也就是说,pro 文件存储的配置信息是用来告知编译器如何编译当前项目的,所以一个 Qt 项目要想完美运行,既要保证各个源文件中程序的正确性,还要保证 pro 文件中配置信息的合理性。
任何一个 Qt 项目都至少包含一个 pro 文件,此文件负责存储与当前项目有关的配置信息,比如:
- 项目中用到了哪些模块?
- 项目中包含哪些源文件,哪些头文件,它们的存储路径是什么?
- 项目使用哪个图片作为应用程序的图标?
- 项目最终生成的可执行文件的名称是什么?
对于一个刚刚创建好的 Qt 项目,pro 文件并不是空的,而是包含一些基本的配置信息。实际开发中,Qt 会自动修改 pro 文件的内容,但有时也需要我们手动修改,例如程序中用到某个第三方库时,就需要我们手动修改 pro 文件。
.pro文件的配置信息
.pro 文件可以存储上百条配置信息,每条配置信息由三部分构成:
- 前半部分是关键字,也称配置项,用来指明配置信息的含义;
- 中间用 +=、-=、= 等数学符号连接配置项和它对应的值;
- 后半部分是配置项对应的值,一个配置项可以对应多个值,每个值代表不同的含义。
- 注释 :使用‘#’进行注释,范围到每行结束
- 模块引入: QT += 模块名,表示当前项目引入Qt哪些模块。默认值为 core 和 gui
所谓模块,可以简单地理解为文件夹或者压缩包,内部包含多个功能相近的类。作为一款成熟的 GUI 框架,Qt 提供了大量的类,根据这些类的功能,Qt 将它们分成了几个组,每个组称为一个模块。打开 Qt Creator 的帮助界面并搜索“All modules”,可以看到 Qt 的所有模块。
- greaterThan(QT_MAJOR_VERSION, 4): QT += widgets : 如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5及更高版本)需要增加widgets模块。如果项目仅需支持Qt5,也可以直接添加“QT += widgets”一句。
- 配置信息:CONFIG用来告诉qmake关于应用程序的配置信息 。如 CONFIG += c++11:启动 C++11 标准支持。(qt5.6以上版本默认使用C++11)
- TARGET:指定生成的应用程序名,中间用 = 符号连接。
- HEADERS:指定项目中包含的所有 .h 头文件
- FORMS:指定项目中包含的 .ui 设计文件
- SOURCES:指定项目中包含的所有 .cpp 源文件
- RESOURCES指定项目中包含的资源文件
pro文件大部分配置项不需要我们手动修改,比如 SOURCES、HEADERS、FORMS 等,当我们添加或者删除项目中的源文件时,Qt 会自动修改这些配置项。
附:Qtcreator常用快捷键
运行 ctrl +R
编译 ctrl +B
帮助文档 F1 ,点击F1两次跳到帮助界面跳到符号定义 F2 或者 Ctrl + 鼠标点击
注释 ctrl+/
字体缩放 ctrl + 鼠标滚轮
整行移动代码 ctrl + shift + ↑或↓自动对齐 ctrl + i
同名之间的.h和.cpp文件跳转 F4声明函数实现:alt键