创建插件工程
使用VS创建Create Qt Designer Widget Project,通常可以得到如下结构:
D:\QwPlugins\QwIFNTProgressBarPlugin
│ QwIFNTProgressBar.cpp
│ QwIFNTProgressBar.h
│ QwIFNTProgressBarPlugin.cpp
│ QwIFNTProgressBarPlugin.h
│ qwifntprogressbarplugin.json
│ QwIFNTProgressBarPlugin.vcxproj
│ QwIFNTProgressBarPlugin.vcxproj.filters
│ QwIFNTProgressBarPlugin.vcxproj.user
│ QwIFNTProgressBarPlugin.vcxproj.vspscc
其中,没有plugin的类为主要完成的类,对于Release模式下生成的.lib & .dll文件,只需要将*.dll文件拷贝至$(QTDir)\plugins\designer\文件夹下即可。
如此一来,可以在desigenr.exe中看到有一栏自定义插件,可以直接拖动显示,也可以将designer.exe附加到进程进行调试。
如果想要配置右侧属性面板,可以通过如下代码进行配置:
Q_PROPERTY(int PowerLevel READ powerLevel WRITE setPowerLevel)
Q_PROPERTY(int WarnLevel READ warnLevel WRITE setWarnLevel)
具体释义:
Q_PROPERTY(type name
(READ getFunction [WRITE setFunction] |
MEMBER memberName [(READ getFunction | WRITE setFunction)])
[RESET resetFunction]
[NOTIFY notifySignal]
[REVISION int]
[DESIGNABLE bool]
[SCRIPTABLE bool]
[STORED bool]
[USER bool]
[CONSTANT]
[FINAL])
详情可见于,QT官方文档。
GPT answer
Q_PROPERTY 宏是 Qt 框架中用于声明属性的宏。通过使用 Q_PROPERTY,我们可以将类的成员变量声明为可被访问和操作的属性,使其可以被 Qt 的元对象系统所管理。
Q_PROPERTY 宏的基本语法如下:
Q_PROPERTY(type name READ getterFunction WRITE setterFunction NOTIFY signalFunction)
其中,各个参数的含义如下:
- type:属性的类型,可以是任意 Qt 支持的数据类型。
- name:属性的名称,按照命名规范使用驼峰命名法。
- getterFunction:获取属性值的成员函数,通常以 get 开头,例如 getValue()。
- setterFunction:设置属性值的成员函数,通常以 set 开头,例如 setValue()。
- signalFunction:属性值改变时发送信号的成员函数,通常以 valueChanged 结尾,例如 valueChanged()。
Q_PROPERTY 宏的使用可以为类提供元对象的支持,使其属性可以通过 Qt 的反射机制进行访问和修改,同时还能与信号和槽机制进行交互。这对于在 Qt 中实现模型-视图架构和属性绑定等功能非常有用。
需要注意的是,Q_PROPERTY 宏必须与 QObject 派生类一起使用,并且在类的声明中。
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,C++设计模式,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓