900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Qt添加自定义控件

Qt添加自定义控件

时间:2018-09-15 16:06:46

相关推荐

Qt添加自定义控件

前言

本文详细介绍在Windows 10和Ubuntu 14.04系统下,使用Qt Creator 4.9.0创建自定义控件的过程,并在项目中使用

1 Windows

1.1 说明

Qt Creator中编译项目使用的是MinGW/g++编译器,而Qt提供的Qt Creator本身是由MSVC编译的,所以Qt Creator中编译的插件无法在Qt Creator中使用,下面是我安装的Qt Creator

为了在Qt Creator中使用自定义插件,有两种方法,一种是也使用和Qt Creator版本相同的MSVC编译器编译插件,另一种就是使用MinGW重新编译Qt Creator

我选择安装MSVC编译器,需要下载安装Visual Studio

1.2 安装MSVC

首先下载Visual Studio ,我下载的是社区版

下载好之后,按照提示安装即可

1.3 安装Qt Creator

把原来的Qt Creator卸载掉,重新下载安装Qt Creator

安装的时候,勾选红框中的两项,然后等待安装完成

1.4 创建自定义控件

在Qt Creator点击新建文件或项目,选择Qt4 设计师自定义控件

之后输入项目名称,再点下一步,下一步

这里需要选择和Qt Creator编译一致的编译工具链,也就是前面安装MSVC的原因

然后在控件类框里输入名字,并把所有首字母都换成大写,注意首字母大写,按照编码规范命名,如果小写后面会与实例对象的默认名称出现冲突,会出现编译错误

再下一步,下一步,直到完成

最后创建项目目录如下

把编译版本改为Release

然后右键项目,点击清除,执行qmake,重新构建

最后在你的编译目录下,会有dll文件和lib(MinGW编译的是.a文件)

把dll和lib文件复制到Qt安装目录下的plugin/designer路径下,比如我Qt Creator安装是下面的路径

F:\Qt5.12.3\Tools\QtCreator\bin\plugins\designer

到这里自定义控件创建完成

1.5 自定义控件使用

重新打开Qt Creator软件,新建一个Qt Widgets Application项目,就能在设计UI界面看到新添加的自定义控件

但是编译的时候会报错

Error: dependent 'SonicWidget.h' does not exist.

这个时候需要把下面这三个文件复制到你新建的项目目录下

SonicWidget.cppSonicWidget.hSonicWidget.pri

在新建的项目的.pro文件中添加下面代码

include(SonicWidget.pri)

再编译就没有问题了

2 Ubuntu

在Qt Creator点击新建文件或项目,选择Qt4 设计师自定义控件

之后输入项目名称,再点下一步,下一步

然后在控件类框里输入名字,并把所有首字母都换成大写

再下一步,下一步,直到完成

最后创建的项目目录如下

把编译版本改为Release

然后右键项目,点击清除,执行qmake,重新构建

最后在你的编译目录下,会找到一个so

/build-SonicWidget-Desktop_Qt_5_12_3_GCC_64bit-Release/libsonicwidgetplugin.so

把生成的so拷贝你的Qt Creator的这个目录下,注意不同的Qt Creator版本,这个目录可能不一样,可以搜索designer文件夹

/opt/Qt5.12.3/Tools/QtCreator/lib/Qt/plugins/designer

重新打开Qt Creator软件,新建一个Qt Widgets Application项目,就能在设计UI界面看到新添加的自定义控件

但是编译的时候会报错

make: *** No rule to make target `SonicWidget.h', needed by `ui_mainwindow.h'. Stop.

这个时候需要把下面这三个文件复制到你新建的项目目录下

SonicWidget.cppSonicWidget.hSonicWidget.pri

在新建的项目的.pro文件中添加下面代码

include(SonicWidget.pri)

再编译就没有问题了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。