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

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


Chapter2 在Qt项目中添加pri文件

原文链接:在Qt项目中添加pri文件_qtpri-CSDN博客

前言

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

创建pri文件的步骤

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

        一、创建Qt项目

首先按照原本创建Qt那样创建一个简单的QWidget的项目,如下图所示:


        二、创建pri空文件

1、在创建的PriProTest工程下创建一个文件夹PriTest,并创建pritest.pri文本:

2、在pro中添加pri文件,像下面那样添加相应的代码,并ctrl+B,就会出现如下图所示情况:

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

3、以上一步就已经成功添加一个pri文件了,就可以在PriTest文件夹下添加我们想要的一些C++资源或文件:


        三、调试

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

#ifndef TEST_H
#define TEST_H
 
#include <QWidget>
#include <QDebug>
 
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、结果可用

以上就是简单的pri文本创建的过程。

Chapter3 Qt 之 pro 配置详解

Qt 之 pro 配置详解_一去二三里 csdn-CSDN博客

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

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

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

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

    简述

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

    配置、效果


    多工程

如果需要管理多工程(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项目管理

原文链接:qt5.9 子项目创建及qt项目管理_qt 添加子项目-CSDN博客

    前言

所有的课件可以去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

        创建一个子目录项目:

点击取消,已经创建一个空的项目工程了。


        添加一个子项目app


        添加lib库和dll库


        同样的步骤,添加dll


        添加src子项目


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

可执行目录是main_make/bin

设置构建项目路径,这个至关重要。

这样子所有的编译出来的文件都存放在make_bin里了。

设置生成可执行文件目录执行(运行)目录

这个可执行文件在构建编译后的文件目录即在main_make文件夹下。

那么main.pro编译后的目录在main_make/目录下

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

所以

DESTDIR = …/bin/MyDebug# 指定生成的应用程序放置的目录

        设置执行编译顺序

静态库和动态库先编译再编译可执行界面


        添加静态库工程


可以单独再建立好多的项目,再建立库,也可以只建立一个库。


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

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

main_make/lib/add目录下

DESTDIR += …/…/bin/MyDebug# 指定生成的应用程序放置的目录

可以先写一段代码测试功能

在Add类库中写一函数

在界面项目中,指定库的头文件路径。

测试

这样子已经跑起来了。

        添加动态库

操作和静态库类似

指定生成的dll路径。

在app.pro中,指定头文件和库名称。

在动态库中添加一个函数,进行测试

到这里算是演示成功了,不过是简单的一个小小demo。qt的多项目多多练习终能成为大才。

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

    1、新建子目录项目

文件》新建文件或项目》其他项目》子目录项目:

点击Choose,设置名称和创建路径。

后面一直点击下一步直至子目录项目创建完成后:


    2、创建Application

在上一步创建完成后弹出的新建子项目框中,Application》Qt Widgets Application

点击Choose,设置名称(创建路径默认即可)

没有特殊需要的话就一直下一步直至Application创建完成:


    3、创建动态库

项目目录名称右击》新子项目:

Library》C++库

点击Choose,设置名称(创建路径默认即可)

没有特殊需要的话就一直下一步直至Application创建完成:


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

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

Application项目目录名称右击》添加库:

内部库》下一步:注意:是内部库

下一步完成即可,添加库会在Application项目pro文件中生成下面几行代码:

下面先点击小锤子构建,然后测试就可以了!

    5、测试

添加上头文件,在动态库项目中添加一个求和的成员函数,进行测试

  • 31
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值