Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库

上文(Qt进阶案例(1)——利用Visual Studio将Qt的ui界面程序封装成dll库详解)介绍了利用Visual Studio将Qt的ui界面封装成dll库,本文将介绍如何利用Qt Creator将ui界面封装成dll库,其本质都是相同的。

目录

      • 1、新建Qt Class Library
      • 2、新建ui界面
      • 3、修改头文件并编译
      • 4、新建第二个项目
      • 5、编辑程序
      • 6、效果演示

1、新建Qt Class Library

在Qt Creator中新建一个Qt Class Library(C++库),如下:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第1张图片
选择需要的模块:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第2张图片

2、新建ui界面

Qt Creator新建ui界面比较简单,直接右键Add New即可:

Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第3张图片
ui界面布局如下:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第4张图片

3、修改头文件并编译

将uidemo_global.h中的ifdef内容复制到dialog.h上,并将dialog.h的ifndef相关代码删除,在class前更换为相应的内容:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第5张图片
编译,正常情况下应该能编译成功:

Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第6张图片
此时,不会有任何输出,但是Release目录下会生成dll文件和lib文件:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第7张图片
保存,关闭。

4、新建第二个项目

利用Qt Creator重新新建一个项目,项目名称为“Test”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。
UI界面如下,只有一个按钮PushButton:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第8张图片
然后将之前的dialog.h头文件(放在include文件夹中)和lib文件(放在lib文件夹中)和dll文件放在project同级目录下:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第9张图片
在exe同级目录下放入dll文件:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第10张图片

在pro中添加include包含目录:

INCLUDEPATH += include

添加附加库目录:

LIBS +=$$PWD/lib/*.lib

$$PWD表示的意思就是pro文件所在的目录。

5、编辑程序

在widget.h头文件中增加一个私有变量和一个按钮点击槽函数,并包含之前的头文件:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第11张图片
在cpp源文件中对其进行定义,完整代码如下:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    dlg = new Dialog();//new对象
}

Widget::~Widget()
{
    delete ui;

}



void Widget::on_pushButton_clicked()
{
    dlg->show();//显示对话框
}

6、效果演示

完整效果如下:
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库_第12张图片

如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/84511153


ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~

你可能感兴趣的