Qt pri文件详解

        .pri 文件是“Project Include”的缩写。本质上是一个包含Qt项目配置信息的文本文件。.pro文件不同的是,.pri文件通常用于封装可重用的配置片段,而不是定义完整的项目。这样,我们就可以在多个.pro文件中包含相同的.pri文件,以实现配置的重用。

基本用法

在 Qt 项目中,.pri 文件可以通过 .pro 文件(Qt 项目文件)中的 include() 函数来引入。

include($$PWD/config.pri)

 

.pri 文件内容

.pri 文件的内容非常灵活,可以包含几乎所有在 .pro 文件中可以使用的指令。

例如:分别使用了FORMS、HEADERS、SOURCES、DEFINES、CONFIG等指令。

FORMS += \
    $$PWD/frmaccoutinfo.ui \
$$PWD/frmadvancedsetting.ui 

HEADERS += \
    $$PWD/frmaccoutinfo.h \
$$PWD/frmadvancedsetting.h 

SOURCES += \
    $$PWD/frmaccoutinfo.cpp \
$$PWD/frmadvancedsetting.cpp

DEFINES += SEVEN_INCH_SEAT
CONFIG += config_seven

.pri文件的作用

1. 配置共享:如果你有多个Qt项目需要共享相同的编译设置、库依赖或源代码目录,你可以将这些配置放在.pri文件中,并在每个项目的.pro文件中包含它。这样,当你需要更新这些共享配置时,只需修改.pri文件即可,而无需逐个更新每个项目的.pro文件。

例如:工程项目Radio细分为 components、pinyin、JPKeyboard、JpLoginMng、UI_QWIDGET等子项目。想要在全局(项目和子项目)生效一个配置:

其余子项目以此类推,结果: 

 

 

2. 模块化.pri文件允许你将复杂的项目配置分解为更小的、更易于管理的模块。每个.pri文件可以专注于一组特定的配置(如网络库依赖、UI组件等),这使得项目结构更加清晰和模块化。

例如:一个大型界面工程中,按照界面进行分解,将每个界面分解为一个子模块。

 

3. 条件编译.pri文件也支持条件编译指令,这允许你根据不同的条件(如操作系统、编译器类型等)包含不同的配置。这对于跨平台开发尤其有用,因为它允许你为不同的目标平台定制编译设置。 

include(../config.pri)

#if CONFIG contains config_seven
contains(CONFIG, config_seven){
    SOURCES += \
        src/DataBase/clientdefine_7inch.cpp \
        src/CallSession_7inch.cpp \
        src/DataBase/DataJsonManager_7inch.cpp \
        src/DataBase/datamanager_7inch.cpp \

    HEADERS += \
        inc/DataBase/clientdefine_7inch.h \
        inc/DataBase/datamanager_7inch.h \
        inc/DataBase/radiodb_7inch.h \
        inc/Utils/commFunc_7inch.h \
}
#if CONFIG contains config_twelve
contains(CONFIG, config_twelve){
    SOURCES += \
        src/DataBase/clientdefine_12inch.cpp \
        src/CallSession_12inch.cpp \
        src/DataBase/DataJsonManager_12inch.cpp \
        src/DataBase/datamanager_12inch.cpp \

    HEADERS += \
        inc/DataBase/clientdefine_12inch.h \
        inc/DataBase/datamanager_12inch.h \
        inc/DataBase/radiodb_12inch.h \
        inc/Utils/commFunc_12inch.h \
}
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值