我的环境是windows7,生成自定义控件使用的是QT5.2.1for VS2010,使用自定义控件项目使用的是QT5.2.1 for MinGW或者 for VS2010。这个两个都测试过。都可以使用。并且看到自定义属性。
在网上可以看到很多类似的博文介绍自定义控件方法。 最开始直接下载的QT5.2.1for MinGW生成自定义控件后,将Release版的dll文件拷贝到D:\Qt\Qt5.2.1\Tools\QtCreator\bin\plugins\designer下后,使用的时候在控件栏里看不到控件,更别说自定义属性了。在QT Creator的 工具--》界面编辑器--》About Qt Designer Plugins下看到 无法加载生成的自定义控件。在网上了解到MingW版本带的designer是用VS编译器编译的,如果用MingW版本的Qt的话,因为编译器版本的不一致导致无法显示自定义控件。不过将VS编译的自定义控件dll库文件拷贝到Mingw版本的相同目录是可以使用的。
第一步:creator中新建-->其他项目--->Qt4设计师自定义控件。如图:
第二步:位置设置。
第三部:构建套件,这步可以把Debug模式去掉因为不会用到,最终需要的必须是release版本的才行。如图:
第四步:创建自定义控件类名、选择Logo....
下面选择“说明”选项卡如图:
这步做的就是Qt书上写的那些要重写的函数,所在组、以及鼠标放上去的提示等,选择“控件是个容器”的意思是表明本控件允许其他控件放上去,像widget。
第五步:插件名称不是很必要改。
第六步:完成。就可以开始自定义控件的创建了。
第七步:添加自定义属性。
在mybutton.h文件中添加如下:
在mybutton.c文件中添加如下:
第八步:选择Release版、构建自定义控件从而生成dll库文件。
第九步:在release目录下找到dll文件将其拷贝到“D:\Qt\Qt5.2.1\Tools\QtCreator\bin\plugins\designer ”。重新启动creator就可以在ui界面看到自定义控件和自定义属性了。如图:
到此结束。
下章介绍自定义鼠标事件