Qt开发之路16---模块化设计.pri文件

一:.pri文件简介

i 是?包含(include)的首字母。类似于C、C++中的头文件,我们可以把 *.pro 文件内的一部分内容单独放到一个 *.pri 文件内,然后包含进来。

例如,我们将源文件的设置独立出来,放到propriprfprl.pri文件内:

SOURCES += main.cpp/
        widget.cpp
HEADERS  += widget.h
FORMS    += widget.ui

这时,我们的 propriprfprl.pro 文件就可以简化为:

TEMPLATE = app
CONFIG += QT
QT += core gui

TARGET = propriprfprl
include(propriprfprl.pri)

如果一个大点的项目,含有多个*.pro文件呢,这些pro需要有些共同的设置或需要的文件,这时就很有必要了。

二:通过.pri模块化设计

对于QT项目,默认情况下所有的文件都是在同一个文件夹下进行开发的,当做一个项目规模相对较大的时候文件很多导致维护及其困难,所以pri对文件进行模块化开发至关重要,pri进行模块化无非就是将相同业务逻辑的代码放到同一个文件夹下进行管理。
当你的工程文件变多时,你的工程逻辑结构会变得相对复杂,这时点开你的工程节点会发现节点下都是这样长长的一串,什么模块的文件都挤在一个节点下,很臃肿。如下图模块化前后对比:
模块化前
模块化后

第一步:到项目根目录下新建你自己的业务逻辑的文件夹,Dialog、Widget文件夹如下图:
在这里插入图片描述
第二步:将相同的功能文件移动到对应的文件夹中。
在这里插入图片描述
在这里插入图片描述
第三步:在新建的文件夹下新建 " .pri " 文件,新建.pri文件名称规则(文件夹名称+.pri),新建.pri文件后,手动添加内容,或者根据第五步添加。
在这里插入图片描述

第四步:在项目根目录的.pro文件中添加如下内容。
INCLUDEPATH
include

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = TestQt
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui

RESOURCES += \
    image.qrc
DISTFILES +=

INCLUDEPATH += $$PWD/Dialog  # 工程编译时,会去INCLUDEPATH列表下的目录搜索文件
include ($$PWD/Dialog/Dialog.pri) # include()包含的文件会显示在工程结构图中

INCLUDEPATH += $$PWD/Widget  # 工程编译时,会去INCLUDEPATH列表下的目录搜索文件
include ($$PWD/Widget/Widget.pri) # include()包含的文件会显示在工程结构图中

第五步:qmake后,分别右键Dialog、Widget添加对应文件夹下的文件。.pri文件内容如下:
Dialog.pri文件:

FORMS += \
    $$PWD/dialogone.ui \
    $$PWD/dialogtwo.ui

HEADERS += \
    $$PWD/dialogone.h \
    $$PWD/dialogtwo.h

SOURCES += \
    $$PWD/dialogone.cpp \
    $$PWD/dialogtwo.cpp

Widget.pri文件:

FORMS += \
    $$PWD/widgetone.ui \
    $$PWD/widgettwo.ui

HEADERS += \
    $$PWD/widgetone.h \
    $$PWD/widgettwo.h

SOURCES += \
    $$PWD/widgetone.cpp \
    $$PWD/widgettwo.cpp

第六步:效果图
在这里插入图片描述

三:结尾

写好一个.pro文件非常有助于你去梳理项目的结构组成,一个良好的框架,也往往对开发维护有着事半功倍的效果。

上一篇:Qt开发之路15—资源文件
下一篇:Qt开发之路17—布局管理器

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值