自学内容网 自学内容网

VS+QT 自定义插件变成动态库加载及使用

一、前言

        有个界面需要重复使用某个自定义的控件,希望自定义控件能够像动态库文件那样,添加引用lib就能使用,经过多次太坑后,总结如下

二、实现方式

① 新建项目,选择"Qt Designer Custom Widget" 创建自定义控件

② 注意!!!!!!,创建的自定义控件里面没有自动添加 Q_DECL_EXPORT 宏,需要手动添加,此次困扰了我很久,导致生成的dll和lib不能被外部使用。

#ifdef TQSLIDER_SINGLE_LIB
#  define TQSLIDER_SINGLE_EXPORT Q_DECL_EXPORT
#else
#  define TQSLIDER_SINGLE_EXPORT Q_DECL_IMPORT
#endif
class TQSLIDER_SINGLE_EXPORT TQSlider_single : public QWidget

③  C/C++  →  预处理定义  中添加 大写的,带有lib后缀的名字,分号结尾。

④ 将编译生成的自定义控件放到主程序的对应文件夹中

比如:lib放到 主程序建立的lib文件夹

.h的头文件放到 include的文件夹

.dll 文件放到 .exe的同级目录下

⑤ 自定义控件的dll放到 designer 路径下,可以实现界面拖拽

⑥ VS链接lib及包含目录设置

⑦ 至此,可以在程序里面自由拖拽自定义控件了,而且能够编译和运行


原文地址:https://blog.csdn.net/qq_42537006/article/details/142884923

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!