qt的重要文件简介pro、moc、pri、prf

本文介绍了Qt开发中重要的文件类型,包括pro文件的语法、moc元对象编译器的作用以及pri和prf文件在项目构建中的用途。moc用于处理Qt的扩展语法,pro文件定义项目配置,pri和prf文件则支持模块化和定制构建设置。
摘要由CSDN通过智能技术生成

一、项目文件(pro 文件)及其语法

1、项目文件(pro 文件)的作用是列举项目中的源文件,
2、pro 文件的语法形式为:“变量 操作符 值”,比如 QT += widgets,多个值之间使用空格分
开。
3、pro 文件的注释:从“#”开始,直至本行结束。
4、pro 文件的操作符见下表
请添加图片描述
5、pro 文件中的条件判断
 win 32{QT+=widgets} # 若 win32 为真,则执行大括号中的语句
else {CONFIG = qt release} # 否则执行此处的语句,else 是可选的。
 win32: QT+=widgets # 若 win32 为真则执行冒号后的语句。
 greaterThan(QT_MAJOR_VERSION,4): QT+=widgets #若 Qt 版本大于 4,则执行冒号后的语句。
6、pro 文件常用的变量如下表
请添加图片描述
请添加图片描述
7、示例
 由构建时生成的文件夹的名称可以判断出 Qt Creator 是以什么模式构建的项目,若名称
的最后是 Debug 则是以 debug 模式构建的,若是 Release 则是以 release 模式构建的
 根据所生成的可执行文件(比如 exe 文件)的大小,可以判断出可执行文件最终是以什么
模式生成的,使用debug 模式生成的可执行文件会比release模式生成的可执行文件更大,
因为 debug 模式会包含一些调试信息。

二、moc 简介

1、moc 全称是 Meta-Object Compiler,即“元对象编译器”。
2、因为 Qt 不是使用的标准 C++ 语言,因此 Qt 在将源码交给标准 C++ 编译器(如 gcc)之
前,需要先把扩展的语法去除掉。完成这一操作的就是 moc。
3、moc 执行步骤
Qt 程序编译之前,先使用 moc 分析 C++ 源文件,若在头文件中包含了宏 Q_OBJECT,
则会生成另外一个包含了 Q_OBJECT 宏实现代码的 C++ 源文件,这个新文件的名字是
在原文件名之前加上 moc_ 构成。这个新文件同样会进入编译系统,最终被链接到二进制
代码中去,因此我们在 Qt 构建后的文件夹中,见到 moc_.o 和 moc_.cpp 的文件,就是
由 moc 生成的。注意:新文件不会“替换”掉旧的文件,而是与原文件一起编译,另外,
moc 的执行是在预处理器之前。

三、pro、pri、prf 文件简介

1、pro 文件前文已详细介绍了。
2、pri 文件:该类型文件类似于 C++中的头文件,可以在 pro 文件中使用 include 将其包含进
来,因此 pri 文件中的语法与 pro 文件是相同的。示例如下
假设 xx.pri 文件内容如下
QT+=widgets
HEADERS+=widget.h
假设 xx.pro 文件内容如下
include(xx.pri) #把 pri 文件的内容包含进来
CONFIG+=QT
3、prf 文件:该文件类似于 pri 文件,文件中的语法与 pro 文件相同,也需要被包含到 pro 文
件内,但包含的方法不是使用 include,而是用 CONFIG 变量指定或 load 函数加载,而且
prf文件还应放置在qmake能搜索到的目录中去。qmake搜索的具体目录请参阅帮助文档,
以下为 qmake 搜索的目录之一

F:\app\Qt5.10.1\5.10.1\mingw53_32\mkspecs\features

示例如下
 假设 xx.prf 文件的内容如下
QT+=widgets
 然后把 xx.prf 文件存储到上面所指的 features 目录下
 在 pro 文件中包含 prf 文件的方法如下
== CONFIG+=xx #也可使用 load(xx)==
此时就相当于 pro 文件中有一条语句 QT+=widgets

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值