Qt作为一款支持跨平台的GUI程序开发框架,非常受开发者欢迎。Qt框娃肪篙泰架简洁好用,但内置的控件还不能满足所有开发荨层吒椋者的需求,好在我们可以创建自定义控件。本文以创建一个自定义的IP地址输入框控件为例,给大家介绍创建方法。
工具/原料
电脑
Qt Creator4.2.0
Qt4.8.4
构建自定义控件
1、打开Qt Creator,创建一个新工程,选择“其他项目”->“Qt4设计师自定义控件”->“choose”。
2、填写项目名称,并指定项目路径。接下来Kits默认即可,本人是Windows系统,编译器为msvc10.0,点击下一步。
3、添加控件类,这里要注意类名称的首字母必须大写,右侧的源文件名称全部自动生成,不用管,直接下一步。
4、插件名称可以自定义,只要不与已存在插件重名即可。点击下一步,完成工程创建。
5、默认会打开自动生成的plugin后缀的源文件,不要修改这个文件。如下图所示,在头文件ipedit.h中添加:#include <QtDesigner/QDesignerExportWidget>;在类名前面添加:QDESIGNER_WIDGET_EXPORT。
6、保存文件,选择Release模式构建。
7、在输出目录下找到生成的库文件。
8、将这两个库文件拷贝到Qt库的designer路径下。本人Qt库安装在C盘根目录,所以designer路径为:C:\Qt\4.8.4\plugins\designer。
测试自定义控件
1、在Qt Creator中创建一个Qt窗口应用程序,将自定义控件的dll和lib文件,以及ipedit.h头文件,都拷贝到当前窗口程序的工程目录下。
2、右击工程名选择“添加库”,选择“外部库”,库文件路径选择当前工程路径。
3、使用Qt Designer打开ui文件。
4、向下拉左侧的控件栏,就可以看到自定义窗口部件“IpEdit”,可以像内置控件一样直接拖入窗口内使用。
5、最后构建,运行。可以看到自定义控件工作正常。