Qt Creator 向导生成控件插件

目录 Content
[hide]

如何使用 Qt Creator 的向导建立和编写一个控件插件,下面是步骤。

一、生成控件插件

向导生成的项目,New Project -> Other Project -> Qt Custom Designer Widget -> Custom Widget List 中输入 Widget Class 名字,如果只有一个 Widget,例如 xxx,则源码包含两部分,一是 xxx 类,一是 xxxplugin 类。

  • xxx 类:空的,仅具有基本结构。集成自 QWidget ,具有 Q_OBJECT 宏,有构造函数。是需要后续代码工作的。
  • xxxplugin 类:结构是完整的,仅需要填入相关的信息。

二、编写 xxx 类实现代码

到此步,可以在 xxx 类中写最基本的代码,然后编译,生成的 dll  就可以在 Designer 发现控件和拖放控件了。但是,此时控件还没有属性可供设置和读取。

三、给自定义控件添加属性

还需要在自定义控件类声明中添加  QDESIGNER_WIDGET_EXPORT 宏用以暴露接口,需要头文件 <QtDesigner/QtDesigner>

#include <QtDesigner/QtDesigner>

class QDESIGNER_WIDGET_EXPORT LED : public QWidget
{
};

另,

  • Q_PROPERTY 可以将属性暴露出来
  • Q_ENUMS(InputMode) 和 enum InputMode{ mode1, mode2}; 配合起来供选择

四、构建

构建 Designer plugin 只需要构建 release 版本。

前三步可以在Designer 中使用,如果要在 Creator 中使用,则需要参见下一步。

编译器需要和  Creator 被编译时的编译器保持一致,这点非常重要。

五、Creator 中使用

文件部署需要放置 *.h *.lib *dll。参见前文 《Qt5 自定义 Widget 控件 LED(插件)》。

延申阅读:

  • VS2017+QT一个dll中包含多个插件
    https://blog.csdn.net/baidu_33662202/article/details/89132769

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.