Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备

  • Chapter1 Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备($$$)
  • Chapter2 在Qt项目中添加pri文件
    • 前言
    • 创建pri文件的步骤
      • 一、创建Qt项目
      • 二、创建pri空文件
      • 三、调试
  • Chapter3 Qt 之 pro 配置详解
  • Chapter4 Qt之pro配置多个子工程/子模块
    • 简述
    • 配置、效果
    • 多工程
    • 多模块
  • Chapter5 qt5.9 子项目创建及qt项目管理($$$)
    • 前言
    • 创建目录
      • 创建一个子目录项目:
      • 添加一个子项目app
      • 添加lib库和dll库
      • 同样的步骤,添加dll
      • 添加src子项目
      • 设置编译目录和生成可执行目录
      • 设置执行编译顺序
      • 添加静态库工程
      • 设置生成动态库路径,可放在可执行文件路径:
      • 添加动态库
  • Chapter6 QT创建子目录项目,可以让项目组织成树形结构的示例:在项目中同时创建Application和第三方动态库(内部)($$$)
    • 1、新建子目录项目
    • 2、创建Application
    • 3、创建动态库
    • 4、Application项目添加动态链接库。
    • 5、测试


Chapter1 Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备($$$)

Chapter2 在Qt项目中添加pri文件

原文链接:https://blog.csdn.net/michip_lwx/article/details/104027914

前言

一般我们创建Qt项目工程的时候,都是直接把所有的项目,头文件和资源文件等全放入pro中,这样一来小的项目(只有少数几个文件)那种,你可能就会觉得没有什么,但是在一些中大型的开发项目当中,可能会有十几个,甚至几十个文件的开发项目中,我们看树形结构的文件时,就会感到很杂乱,pri文件的作用就尤为重要了。简单来说,pri文件就是把pro文件中的一部分放到pri文件中进行一个管理,类似头文件,进行分块管理,分担pro文件的一部分压力,这样一来pro文件看起来就不会显得很臃肿。

创建pri文件的步骤

对于初学者来说,如何创建pri文件也算是件蛮头疼的事,下面就简单讲讲创建pri文件的步骤。

一、创建Qt项目

首先按照原本创建Qt那样创建一个简单的QWidget的项目,如下图所示:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第1张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第2张图片

二、创建pri空文件

1、在创建的PriProTest工程下创建一个文件夹PriTest,并创建pritest.pri文本:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第3张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第4张图片
2、在pro中添加pri文件,像下面那样添加相应的代码,并ctrl+B,就会出现如下图所示情况:

QT       += core gui
 
include( ./PriTest/pritest.pri )
 

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第5张图片

3、以上一步就已经成功添加一个pri文件了,就可以在PriTest文件夹下添加我们想要的一些C++资源或文件:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第6张图片

三、调试

1、在test.h文件随便写一个加法的调试方法,已验证pri文本能否起作用。

#ifndef TEST_H
#define TEST_H
 
#include 
#include 
 
class test : public QWidget
{
    Q_OBJECT
public:
    explicit test(QWidget *parent = nullptr);
 
public:
    static int add(int a, int b)
    {
        qDebug() << "a + b=" << a+b;
        return a+b;
    }
 
signals:
 
public slots:
};
 
#endif // TEST_H

2、在widget.cpp的构造函数中调用:

#include "widget.h"
#include "ui_widget.h"
 
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
 
    //调试验证
    qDebug() << "调试...";
    test::add(4, 6);
}
 
Widget::~Widget()
{
    delete ui;
}

3、结果可用
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第7张图片
以上就是简单的pri文本创建的过程。

Chapter3 Qt 之 pro 配置详解

https://blog.csdn.net/liang19890820/article/details/51774724

Chapter4 Qt之pro配置多个子工程/子模块

Qt之pro配置多个子工程/子模块

qt5.9 子项目创建及qt项目管理

QT创建子目录项目,可以让项目组织成树形结构的示例:在项目中同时创建Application和第三方动态库(内部)

======================================================================================

简述

进行Qt项目开发的时候,尤其是大型项目,经常涉及多工程/多模块问题,其主要思想还是模块化,目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。

配置、效果

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第8张图片

多工程

如果需要管理多工程(pro),比如:库工程、界面工程,其中,每一个工程均可单独编译成功,但存在依赖关系。也就是说,lib2依赖于lib1,而UI依赖于lib2。

配置如下:
配置TEMPLATE为subdirs设置多工程
配置SUBDIRS,指定需要添加的工程模块
配置CONFIG为ordered指定顺序编译

例如:

TEMPLATE = subdirs
     
    #SUBDIRS += \
    #    SubProject3 \
    #    SubProject2 \
    #    SubProject
     
SUBDIRS +=
PWD/SubProject3/SubProject3.pro 
PWD/SubProject2/SubProject2.pro \
$$PWD/SubProject/SubProject.pro
     
CONFIG += ordered

多模块

延续多工程,如果某一个工程功能比较多,我们必然要进行模块化。例如:界面工程包含:登录界面、设置界面、主界面。。。这时,我们就可以使用pri模块化了。

include(PWD/Login/Login.pri)
include(PWD/Settings/Settings.pri)
include($$PWD/MainWindow/MainWindow.pri)

Chapter5 qt5.9 子项目创建及qt项目管理($$$)

原文链接:https://blog.csdn.net/wrzfeijianshen/article/details/77861855

前言

所有的课件可以去https://github.com/wrzfeijianshen/Courseware 下载哦

关于下载地址详见于:http://www.feijianshen.com/?p=57

或者http://blog.feijianshen.com/?p=57

工程组织结构和动态库引用,是c++作为一个项目开发的一个必要的知识领域。多工程多工作目录,库如何调用问题。

我从网上也找了几篇关于qt如何建立子项目等等的介绍,也不详细。如何先让小白跑起来,这才是重要一步,写代码多了,自然就成神了,第一步总得尝试。

首先了解下工程目录结构,并不是所有的,只是一个广泛的目录结构,大家可以先看看。

l app:可执行文件(界面代码)

l lib(Library ):库(外部调用)

l src: 存放软件所有的源代码(核心代码)

l bin:编译后,生成的可执行文件,库目录

l make_bin:编译库文件目录(也可以不进行更改)

创建目录

首先我们创建一个总的项目文件夹:project:
在这里插入图片描述
qt版本为5.9.1

创建一个子目录项目:

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第9张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第10张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第11张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第12张图片
点击取消,已经创建一个空的项目工程了。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第13张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第14张图片

添加一个子项目app

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第15张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第16张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第17张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第18张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第19张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第20张图片

添加lib库和dll库

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第21张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第22张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第23张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第24张图片

同样的步骤,添加dll

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第25张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第26张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第27张图片

添加src子项目

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第28张图片

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第29张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第30张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第31张图片

设置编译目录和生成可执行目录

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第32张图片
可执行目录是main_make/bin

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第33张图片
设置构建项目路径,这个至关重要。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第34张图片
这样子所有的编译出来的文件都存放在make_bin里了。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第35张图片
设置生成可执行文件目录执行(运行)目录

这个可执行文件在构建编译后的文件目录即在main_make文件夹下。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第36张图片
那么main.pro编译后的目录在main_make/目录下

那么app.pro所编译的目录在,main_make/app目录下

所以

DESTDIR = …/bin/MyDebug# 指定生成的应用程序放置的目录
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第37张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第38张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第39张图片

设置执行编译顺序

静态库和动态库先编译再编译可执行界面
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第40张图片

添加静态库工程

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第41张图片
可以单独再建立好多的项目,再建立库,也可以只建立一个库。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第42张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第43张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第44张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第45张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第46张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第47张图片

设置生成动态库路径,可放在可执行文件路径:

那add.pro编译后的文件路径则是

main_make/lib/add目录下

DESTDIR += …/…/bin/MyDebug# 指定生成的应用程序放置的目录
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第48张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第49张图片
可以先写一段代码测试功能

在Add类库中写一函数

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第50张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第51张图片
在界面项目中,指定库的头文件路径。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第52张图片
测试
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第53张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第54张图片
这样子已经跑起来了。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第55张图片

添加动态库

操作和静态库类似
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第56张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第57张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第58张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第59张图片
指定生成的dll路径。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第60张图片
在app.pro中,指定头文件和库名称。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第61张图片
在动态库中添加一个函数,进行测试

Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第62张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第63张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第64张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第65张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第66张图片
到这里算是演示成功了,不过是简单的一个小小demo。qt的多项目多多练习终能成为大才。

Chapter6 QT创建子目录项目,可以让项目组织成树形结构的示例:在项目中同时创建Application和第三方动态库(内部)($$$)

1、新建子目录项目

文件》新建文件或项目》其他项目》子目录项目:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第67张图片
点击Choose,设置名称和创建路径。
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第68张图片

后面一直点击下一步直至子目录项目创建完成后:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第69张图片

2、创建Application

在上一步创建完成后弹出的新建子项目框中,Application》Qt Widgets Application
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第70张图片

点击Choose,设置名称(创建路径默认即可)
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第71张图片
没有特殊需要的话就一直下一步直至Application创建完成:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第72张图片

3、创建动态库

项目目录名称右击》新子项目:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第73张图片
Library》C++库
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第74张图片
点击Choose,设置名称(创建路径默认即可)
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第75张图片
没有特殊需要的话就一直下一步直至Application创建完成:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第76张图片

4、Application项目添加动态链接库。

此时主项目下有两个子项目,Application需要连接动态链接库才能调用,所以要连接。

Application项目目录名称右击》添加库:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第77张图片
内部库》下一步:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第78张图片
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第79张图片
下一步完成即可,添加库会在Application项目pro文件中生成下面几行代码:
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第80张图片
下面先点击小锤子构建,然后测试就可以了!

5、测试

添加上头文件,在动态库项目中添加一个求和的成员函数,进行测试
Qt项目通过.pri文件将众多文件按功能模块分类显示,开发大型项目必备_第81张图片

你可能感兴趣的:(工控软件,Qt经验总结,qt,开发语言)