QT 自定义组件

1.使用QT project创建一个QT custom designer widget
QT 自定义组件_第1张图片

2.创建后得到的文件目录如图所示
QT 自定义组件_第2张图片

components.cpp 主要是进行组件合并,将cpushbutton和ctoolbutton合并,再增加组件也是类似写法
QT 自定义组件_第3张图片

3.构建release版本,将生成的.dll文件拷贝到qt creator里的designer的plugin里
QT 自定义组件_第4张图片

4.在qt designer的设计师里可以直接拖动生成的组件即可使用

问题:
1.为啥qt creator的设计师里没有该组件?
请确保你的组件构建版本与qt creator版本一致
QT 自定义组件_第5张图片
QT 自定义组件_第6张图片

2.为啥我的类继承了QPushButton(其他同理),在*.ui描述文件里是QWidget?
QT 自定义组件_第7张图片

emmm,QT会自动帮你生成这段描述,class根据你的domXML函数生成,extends默认都是QWidget,header是class名全小写,解决方案就是我们自己生成这段描述
QT 自定义组件_第8张图片

得到的*.ui描述文件就是这样
QT 自定义组件_第9张图片

你可能感兴趣的:(qt组件设计)