在Qt当中pro文件则是统筹整个项目的重要文件,而pri文件则是类似于C、C++中的头文件,反正就是我们可以把.pro文件内的一部分单独放到一个.pri文件内,然后包含进来,可以供给其他工程使用,现在简单介绍下语法

  • 说在前面

    • 注释
    • 模板
    • 各种命令
    • 添加路径
    • 添加Qt内置库
    • 添加外部库
    • 平台相关性处理
    • 关于第三方工程引用当前工程头文件的处理
    • 另一种引入第三方工程头文件的处理的方法

说在前面

在Qt的pro文件中换行是用\符号实现,在下列的语法中,若想要添加多个参数,用空格隔开或用\换行实现
eg.

QT  +=  core gui

QT  +=  core \gui

注释

#开始,到此行结束

模板

模板变量告诉qmake生成文件的类型等

  1. TEMPLATE = app
    具体参数如下:
    app:生成应用程序,即可执行文件
    lib:生成库文件
    PS:只添加TEMPLATE = lib则生成动态库,若想生成静态库,则需要再添加多一条语句,详情如下:

    TEMPLATE = lib
    CONFIG += staticlib
  2. 指定生成的应用程序名
    TARGET = pksystem
    注:不需后缀,生成工程后会自动添加后缀

  3. 配置信息
    CONFIG += qt warn_on release
    在这里使用“+=”,是因为我们添加需要的配置选项到原有的配置选项中,这样做比使用“=”那样替换已经指定的所有选项是更安全的

  4. 源文件编码方式
    CODECFORSRC = GBK

各种命令

  1. uic命令
    UI_DIR += forms
    将.ui文件转化成ui_*.h文件的存放的目录

  2. rcc命令
    RCC_DIR += ../tmp
    将.qrc文件转换成qrc_*.h文件的存放目录

  3. moc命令
    MOC_DIR += ../tmp
    将含Q_OBJECT的头文件转换成标准.h文件的存放目录

添加路径

  1. 目标文件的存放位置
    OBJECTS_DIR += ../tmp
    指定目标文件(obj)的存放目录

  2. 程序依赖路径
    DEPENDPATH += . forms include qrc sources
    程序编译时依赖的相关路径

  3. 头文件包含路径
    INCLUDEPATH += .

  4. 工程中包含的头文件
    HEADERS += include/painter.h

  5. 工程中包含的.ui设计文件
    FORMS += forms/painter.ui

  6. 工程中包含的源文件
    SOURCES += sources/main.cpp sources/painter.cpp

  7. 工程中包含的资源文件
    RESOURCES += qrc/painter.qrc

添加Qt内置库

语法:QT +=添加Qt中相应的库即可

QT  +=  core gui

QT  +=  core \gui

另外,若不需要用到QT的界面,也可以写成如下形式:

QT  -=  gui

添加则用+,不用的或删除的则用-

添加外部库

  1. 引入lib文件
    LIBS += -L folderPath
    -L表示引入路径
    eg.

    Release:LIBS += -L folderPath // release 版引入的   lib文件路径
    Debug:LIBS += -L folderPath // Debug 版引入的lib 文  件路径
  2. 定义编译选项
    DEFINES += XX_XX_XXX
    添加了这个后在.h文件中就可以使用#ifdef XX_XX_XXX

  3. 添加资源文件
    RC_FILE = xxx.icns

平台相关性处理

我们在这里需要做的是根据qmake所运行的平台来使用相应的作用域来进行处理。为Windows平台添加的依赖平台的文件的简单的作用域看起来就像这样:

win32
{
SOURCES += hello_win.cpp
}

当你已经创建好你的项目文件,生成Makefile就很容易了,你所要做的就是先到你所生成的项目文件那里然后输入:

  • Makefile可以像这样由“.pro”文件生成:

    qmake -oMakefile hello.pro
  • 对于VisualStudio的用户,qmake也可以生成“.dsp”文件,例如:

    qmake -tvcapp -o hello.dsp hello.pro

关于第三方工程引用当前工程头文件的处理

pri文件的语法与pro的语法类似,但pri文件是专门用于给第三方工程引入头文件或资源文件的

具体写法:
此时则需要在当前工程的pro文件中加入include(path_to_third_project.pri),注意include括号中的必须是pri文件,而在第三方工程中的pri文件则只需写上INCLUDEPATH += $$PWD即可,$$PWD表示该工程的当前目录

另一种引入第三方工程头文件的处理的方法

  1. 添加库文件

    在当前工程中添加内部库,在INCLUDEPATH中填写包含的头文件,在DEPENDPATH中添加依赖库的依赖路径

  2. 添加其他文件
    直接在INCLUDEPATH中添加第三方工程头文件的相对路径即可

PS:记得合理运用$$PWD

Qt中pro、pri文件的语法介绍相关推荐

  1. QT中pro、pri、prf、prl文件

    QT .pro文件 在QT中使用qmake自动生成pro文件,如果要自己定制工程选项,则需要自行修改pro文件. pro文件有以下关键字:TEMPLATE.TARGET.DESTDIR.DEPENDP ...

  2. Qt的.pro工程文件语法学习

    我们编写Qt应用程序时,不管使用Qt Creator还是VS或者Eclipse,不管是Qt Widgets还是Qt Quick,总会发现有.pro文件,我们称.pro文件为Qt的工程管理文件,它存在的 ...

  3. Qt中pro文件如何从相对路径导入库

    Qt中pro文件如何从相对路径导入库 Qt工程中有lib.dll.a.so等文件需要导入时,有时需要指定路径.指定绝对路径换到其他机器编译时会不大方便.那么,如何在Qt pro文件中通过相对路径导入库 ...

  4. 在Qt项目中添加pri文件

    在Qt项目框架里,很多人都喜欢用pri文件来管理项目.那么今天就来讲讲这个pri文件. 目录 前言 创建pri文件的步骤 一.创建Qt项目 二.创建pri空文件 三.调试 前言 一般我们创建Qt项目工 ...

  5. Qt 中pro文件换行注意的问题

    Qt 中pro文件换行必须用  \,直接按回车换行会导致程序不正确.如下: CONFIG(debug, debug|release) {OBJECTS_DIR += $$PWD/../debugDES ...

  6. qt中.pro文件详细说明

    工程上需要使用QT框架进行项目开发,.pro文件里面的具体配置方式比较模糊.详细整理文件里各配置项的含义,并对其编写方法进行归纳总结. 目录 1.配置项说明 1.1.注释 # 1.2.添加/排除QT项 ...

  7. Qt中打开excel文件

    qt中打开excel文件有两种方法 第一种,用QAxObject,在使用QAxObject,要在.pro文件中添加QT += axcontainer,同时在调用文件中添加#include <QA ...

  8. 在QT中自定义头文件和源文件的使用方法

    在QT中自定义头文件和源文件的使用方法 最近想用QT来实现一个简单的功能,为了便于函数的集成需要将功能函数进行封装,自己补了些c++的函数封装方法,发现在QT中还不太一样.接来下简单介绍一下具体怎么实 ...

  9. 在Qt中查看.raw文件

    在Qt中查看.raw文件 Qt中图像类为QImage,而OpenCV对图像操作使用Mat/IplImage,因此,想要在Qt的控件上查看.raw文件需要先将IplImage/Mat转换为QImage ...

最新文章

  1. 智能车竞赛中的人工智能
  2. php怎么控制递归多少次,关于一个PHP递归处理统计的问题
  3. python 日期格式校验_python – 如何验证时间格式?
  4. jqgrid mvc_将JQGrid与Spring MVC和Gson集成
  5. 《C++ Primer Plus(第六版)》(25)(第十三章 类继承 笔记)
  6. 【总结】C# 线程同步技术(一)之 Join 方法
  7. PHP教程 数据库和MySQL_PHP教程 - MySQL 创建数据库和表
  8. 线程同步--关键代码段(三)
  9. 将系统常用程序一次性的都安装到位
  10. 中医电脑cac处方系统 最好的杀毒软件
  11. 无限循环小数四则运算_无限循环小数能做加减乘除四则运算吗?无限不循环小数能做吗??...
  12. 光线追踪学习:GPU端光线追踪学习
  13. 麒麟座v1.4开发板01-资料获取
  14. 你有多久没有收到圣诞节的祝福了,你收到那个女孩(男孩)的祝福了吗?
  15. 团队组成五个基本要素_团队建设的五个要素是什么?
  16. 200-Smart学习笔记:比较传送移位指令的用法案例(3)
  17. 关于MFC程序中隐藏任务栏图标的问题
  18. 年薪 30W 和 60W,数据分析师的两道坎
  19. clk_prepare()和clk_prepare_enable
  20. 强制清空浏览器缓存与无视管理员权限删除应用

热门文章

  1. python读取word内容复制粘贴,Python读取word文本操作详解
  2. 内存错误检测工具——kfence工作原理分析
  3. FCPX:600种VHS Studio转场效果合集
  4. 防火墙添加ip白名单_防火墙白名单设置方法firewalld
  5. 漏洞复现篇——利用XSS漏洞实现键盘记录
  6. 【TensorFlow学习笔记】完美解决 pip3 install tensorflow 没有models库,读取PTB数据
  7. 福建厦门计算机春季高考考哪些学校,福建省2020年春季高考总分多少?春季高考本科院校有哪些?...
  8. 2018任天堂服务器维护,任天堂更改Switch网络收费政策,并延迟至2018年
  9. 日常英语---十一、MapleStory/Monsters/Level 201-210(Dark Demon Eagle Rider)
  10. C#像素鸟(独自一鸟闯天下)