1,环境
Qt 5.14.2
VS2022
原因:厌烦了控件提升的繁琐设置,且看不到界面预览显示。
2,QT制作自定义控件
2.1,New/其他项目/Qt4 设计师自定义控件
2.2,设置项目名称
2.3,设置
2.4,设置自定义控件列表
2.5,设置分组
2.6,设置集合类信息
2.7,生成效果
注:集合类信息,添加插件,后续往此集合类中增加控件时有用
注:工程文件,后续往此集合类中增加控件时有用
注:自动生成的插件文件,后续往此集合类中增加控件时有用,关于插件的一些信息
2.8,修改控件MyCtrl1.h中内容
宏: QDESIGNER_WIDGET_EXPORT
#include <QtDesigner/QtDesigner>
#include <QtUiPlugin/QDesignerCustomWidgetInterface>
class QDESIGNER_WIDGET_EXPORT
2.9,编译一个Debug版本一个Release版本
Release版本才能被识别,能够在Desginer中显示
Debug版本用于调试
2.10,将库文件,头文件放置到对应的文件夹中
Release版本:MyCtrl.dll,MyCtrl.lib
Debug版本:MyCtrl.dll,MyCtrl.lib
将库放置到plugins/designer文件夹中
将关联的.h放置到对应的include中,方便后续程序的引用
3,VS2022调用
3.1,设置头文件,库目录地址
设置自定义控件头文件地址(VC++目录 / 包含目录)
设置自定义控件库目录地址(包含Release/Debug库目录)(VC++目录 / 库目录 )
3.2,设置库
设置库名称(链接器 / 输入 /附加依赖项/.lib)
3.3,打开UI文件
3.4,将控件库拷贝到项目生成目录下
Debug对应Debug的库,Release对应Release的库。
4,属性设置
Q_PROPERTY
Q_PROPERTY(type name
READ getFunction
[WRITE setFunction]
[RESET resetFunction]
[NOTIFY notifySignal]
[DESIGNABLE bool]
[SCRIPTABLE bool]
[STORED bool]
[USER bool]
[CONSTANT]
[FINAL])
通过在.h中调用Q_PROPERTY(int mProperty READ getMProperty WRITE setMProperty)来进行设置,QtDesigner中即可进行属性设置。