Qt开发之路--模块化设计.pri文件
- QT pro文件和pri文件的区别
- Chapter1 Qt开发之路--模块化设计.pri文件
- 一:.pri文件简介
- 二:通过.pri模块化设计
- 三:结尾
- Chapter2 Qt开发大型项目时,通过.pri文件将众多文件按功能模块分类显示
- Qt中多pro与多pri合作编程
QT pro文件和pri文件的区别
pro文件是一个工程文件,就是可以独立执行的项目的最高首领;
pri文件比pro文件简单的多,单纯的为了编者逻辑上的区分或者思路的厘清,不具备单独执行的条件
一般pri文件包含:
HEADERS += \page/systemsetup.h \SOURCES += \page/systemsetup.cpp \
也就是其头文件和源文件;
其实用pri文件的地方完全可以用pro文件代替,只不过前者简单实用;
Chapter1 Qt开发之路–模块化设计.pri文件
原文链接:https://blog.csdn.net/weixin_43229139/article/details/110874907
一:.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 guiTARGET = propriprfprl
include(propriprfprl.pri)
如果一个大点的项目,含有多个*.pro文件呢,这些pro需要有些共同的设置或需要的文件,这时就很有必要了。
二:通过.pri模块化设计
对于QT项目,默认情况下所有的文件都是在同一个文件夹下进行开发的,当做一个项目规模相对较大的时候文件很多导致维护及其困难,所以pri对文件进行模块化开发至关重要,pri进行模块化无非就是将相同业务逻辑的代码放到同一个文件夹下进行管理。
当你的工程文件变多时,你的工程逻辑结构会变得相对复杂,这时点开你的工程节点会发现节点下都是这样长长的一串,什么模块的文件都挤在一个节点下,很臃肿。如下图模块化前后对比:
第一步:到项目根目录下新建你自己的业务逻辑的文件夹,Dialog、Widget文件夹如下图:
第二步:将相同的功能文件移动到对应的文件夹中。
第三步:在新建的文件夹下新建 " .pri " 文件,新建.pri文件名称规则(文件夹名称+.pri),新建.pri文件后,手动添加内容,或者根据第五步添加。
第四步:在项目根目录的.pro文件中添加如下内容。
INCLUDEPATH
include
QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = TestQt
TEMPLATE = appSOURCES += main.cpp\mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.uiRESOURCES += \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.uiHEADERS += \$$PWD/dialogone.h \$$PWD/dialogtwo.hSOURCES += \$$PWD/dialogone.cpp \$$PWD/dialogtwo.cpp
Widget.pri文件:
FORMS += \$$PWD/widgetone.ui \$$PWD/widgettwo.uiHEADERS += \$$PWD/widgetone.h \$$PWD/widgettwo.hSOURCES += \$$PWD/widgetone.cpp \$$PWD/widgettwo.cpp
第六步:效果图
三:结尾
写好一个.pro文件非常有助于你去梳理项目的结构组成,一个良好的框架,也往往对开发维护有着事半功倍的效果。
Chapter2 Qt开发大型项目时,通过.pri文件将众多文件按功能模块分类显示
原文链接
后期我们要维护代码的时候,要找某个功能的代码,就可以先找到对应功能模块的目录,然后在该目录下找对应的类文件即可。这可是经过验证的提高开发效率的技巧!
Qt中多pro与多pri合作编程
原文链接:https://blog.csdn.net/u014597198/article/details/52679142
ri文件跟pro文件没有本质区别,都是起到包含路径等作用,区别在于pro文件是主要文件,pri是附属文件。
要是项目相对来说比较复杂,比如多平台开发时,需要用到多pri与pro共同合作,当然也可以编辑成静态库或者动态库的形式,现在讲一下如何实现多pri。
一个pro可以包含多个pri,例如:
include(win32.pri)
include(macx.pri)
include(ios.pri)
include(android.pri)
看两个实际项目中pro与pri用法,希望可以对您架构设计提供了一定的参考价值。
实例1:(按照功能来设计架构)
实例2:(按照平台和主要功能进行架构)