赞
踩
main()
着手。但是阅读 Qt 项目的源代码,我们也可以从 pro 文件开始。pro 文件是 Qt 项目组织结构,规定了我们希望该项目如何编译、编译之后要做什么操作等。 下面我们从根目录的 qtcreator.pro 开始。使用 Qt Creator 或者任意文本编辑器打开 qtcreator.pro,开始真正的代码阅读。
include(qtcreator.pri)
第一行是
include qtcreator.pri
。前面我们提到过,qtcreator.pri 中定义了很多函数和适用于各个模块的通用操作。pri 文件可以理解为 pro 文件片段,可以使用
include
操作符将其引入一个 pro 文件。qmake 会自动处理引用操作,类似于将 pri 文件的全部内容复制到
include
语句处。这与 C++ 的
#include
指令类似。这里的处理是线性的,也就是 qmake 会从上向下进行解析。因此,如果你在 pri 中定义了一个函数,那么必须在
include
语句之后才能正常使用该函数。这是在使用时需要注意的。有关 qtcreator.pri 文件的内容,会在以后的文章中详细介绍。如果你使用 Qt Creator 打开,
include
语句会在左侧的项目树中显示一个节点。这种节点不需要物理上的文件夹隔离,只需要
include
不同的 pri 文件即可。这样,即便你的所有文件都在同一个目录下,你也可以使用 pri 文件创建出来多个虚拟目录节点。这样的项目结构看起来会清晰很多。
- #version check qt!minQtVersion(5, 6, 0) {
- message("Cannot build Qt Creator with Qt version ${QT_VERSION}.") error("Use at least Qt 5.6.0.")}
接下来的几行用于判断 Qt 的版本。
minQtVersion()
是在 qtcreator.pri 中定义的函数。没错!pro 也可以定义自己的函数!这正是 pro 的强大之处。我们会在后面详细介绍如何定义函数。顾名思义,这个函数函数用于判断 Qt 的版本。前面的
!
即取非运算符,这与 C++ 一致。当 Qt 的版本低于 5.6.0 时,执行块中的操作。
message()
是 qmake 预定义的函数,类似于
qDebug()
,可以在控制台输出一段文本。这里我们输出的是“Cannot build Qt Creator with Qt version $${QT_VERSION}.”。字符串最后的
$${QT_VERSION}
是占位符,会使用
QT_VERSION
变量的内容进行替换。这一操作被称为变量展开(variable expansion)。有关
$$
以及相关运算符的使用相当重要。
$$
运算符通常用于展开变量的内容,展开的内容可以用于变量的赋值,也可以用于函数的传参。例如:
EVERY
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。