VS + QT 封装带UI界面的DLL

一、创建编译DLL的项目

1.新建Qt Class Liabrary

2.新建项目,选择Qt Widgets Class


3.新建C++类,可以在此类里面写算法函数用于调用。

4.下面是添加完Qt窗体类和C++类之后的项目截图

5.修改头文件并编译

将uidemo_global.h中的ifdef内容复制到dialog.h上:

6.修改dialog.h,在class后Dialog前加入:UIDEMO_EXPORT

然后编写一些函数。

7.点击保存,右键------>生成,成功后可以在执行目录下找到生成的文件

8.至此,生成带UI的DLL已经编译成功。

二、创建调用DLL的项目

1.新建项目,选择Qt Widgets Application

2.配置库文件路径

2.1 在test项目文件夹下面新建include和lib文件夹。并且把UiDemo项目生成的文件和必要头文件拷过来。


ui_Dialog.h的位置比较隐蔽,下图是路径

2.2 打开项目属性配置


3.编辑代码并编译

4.效果


相关推荐
CoderCodingNo13 小时前
【信奥业余科普】C++ 的奇妙之旅 | 19:内存的门牌号——地址与指针的设计原理
开发语言·c++
澈20714 小时前
C++ list容器完全指南
数据结构·c++·链表
kyriewen14 小时前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
前端·c++·webassembly
承渊政道15 小时前
【动态规划算法】(完全背包问题从状态定义到空间优化)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
超级大福宝15 小时前
【力扣48. 旋转图像】超好记忆版 + 口诀
c++·算法·leetcode
lzh2004091915 小时前
深入学习Linux进程间通信:共享内存
linux·c++
特种加菲猫15 小时前
多态:让代码拥有“千变万化”的能力
开发语言·c++
莫等闲-16 小时前
代码随想录一刷记录Day44——leetcode1143.最长公共子序列 53. 最大子序和
数据结构·c++·算法·leetcode·动态规划
承渊政道16 小时前
【动态规划算法】(背包问题经典模型与解题套路)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法