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、测试
添加上头文件,在动态库项目中添加一个求和的成员函数,进行测试