1、打开QtCreator,这里使用的是Qt5.10.1+MSVC2015_32位的环境。

新建项目,其他项目->Qt4设计师自定义控件->设置类名Test【大写开头】,确定,此时无ui文件

2、删除Test.h和Test.cpp,右键工程添加Qt->Qt设计师界面类,选择Widget模板,改名字为Test,此时就有ui文件了

3、代码初始化

在Test.h中添加头文件



#include <QtUiPlugin/QDesignerExportWidget>


在类名前面加上QDESIGNER_WIDGET_EXPORT宏

Qt自定义控件_类名

4、打开ui文件,设计想要的界面

Qt自定义控件_初始化_02

 

这里拖入3个checkbox,功能是1勾选上2,3也勾选,1不勾选2,3也不勾选

5、代码实现

进入第一个checkbox的clik回调



void Test::on_checkBox_clicked()
{
if(ui->checkBox->isChecked())
{
ui->checkBox_2->setChecked(true);
ui->checkBox_3->setChecked(true);
}
else
{
ui->checkBox_2->setChecked(false);
ui->checkBox_3->setChecked(false);
}
}


6、编译,在对应的文件夹生成testplugin.dll和testplugin.lib

7、得到最后的文件

testplugin.dll、

testplugin.lib、

test.h

 

如何使用呢?

1、把testplugin.dll放在Qt库路径和Creator路径下

D:\Qt5.10.1\5.10.1\msvc2015\plugins\designer

D:\Qt5.10.1\Tools\QtCreator\bin\plugins\designer

2、使用对应版本Creator新建工程,可以看见ui中有了Test控件

Qt自定义控件_初始化_03

 

3、把这个控件拖到界面就ok了

Qt自定义控件_新建项目_04

 




长风破浪会有时,直挂云帆济沧海!