Qt Creator无法显示自定义控件

本文讲述了作者在使用Qt做自定义控件时,遇到在QtCreator界面设计器显示问题,经发现是由于编译器和Qt版本不一致。通过编译匹配的QtCreator版本并调整插件,解决了控件显示问题,强调了版本一致性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天尝试做一下Qt的自定义控件,中间遇到问题就是自定义控件在QtCreator上无法显示,经过查资料和验证,将问题解决了,简单记录一下。

关键词:Qt库版本 Qt Creator所使用的Qt库版本

Qt使用自定义控件有两种方式:
①通过控件“提升”,这个方法比较推荐,方便快捷。在这里不展开了;
②通过插件的方式,本文记录的就是这样的方式。就是把控件做成插件,并且可以在Qt Creator的界面设计器上直接拖拽调用,很炫酷。为什么要采用这样的方式?其中一个原因看起来很专业和高大上啊。

但我在这过程中遇到问题,做出来的控件在qt库自带的qt designer中可以看到,不过在qt creator中的界面设计器就看不到,为啥?因为版本不一致的问题。

1. 我的环境

编译器:MSVC 2015社区版
http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso
Qt安装包:qt-opensource-windows-x86-msvc2015_64-5.8.0.exe(http://download.qt.io/new_archive/qt/5.8/5.8.0/qt-opensource-windows-x86-msvc2015_64-5.8.0.exe

2. 版本对比

从文件名字就可以看qt库的版本:
在这里插入图片描述

安装好之后,看看qt creator的版本:在这里插入图片描述
所以版本不一致!
我安装的Qt安装包是64位的库+32位的Qt Creator,因此直接这么编译出来的自定义控件是无法在Qt Creator上显示的。

那怎么办?换Qt Creator的版本。

3. 编译Qt Creator

在地址(http://download.qt.io/archive/qtcreator/4.2/4.2.1/qt-creator-opensource-src-4.2.1.tar.xz)上下载Qt Creator的源码包,然后就用我们之前装好的qt-opensource-windows-x86-msvc2015_64-5.8.0.exe这个环境编译。
编译过程略去,不会太难,记得编译Release版哦。得到新的Qt Creator版本,如下:
在这里插入图片描述
好了,现在Qt库和新的Qt Creator版本一致了。(废话,新的Qt Creator就是用之前安装好的qt环境编译出来的,肯定一致啦)。

4. 测试验证

验证一下,直接用Qt自带的插件例子AnalogClock。(我还是用旧的32位那个Qt Creator。)
在这里插入图片描述
记得编译为Release版哦。在这里插入图片描述

编译出来得到.lib,.dll文件
在这里插入图片描述

把dll文件拷贝到Qt库的插件目录下。注意:查一些网上资料,说要拷到Qt Creator的bin/plugins/designer,这里我是拷在Qt的安装目录,大家可以试试。
在这里插入图片描述

完工,看效果。打开新版Qt Creator,看到了,AnalogClock控件出现在面板上了。
在这里插入图片描述
可以拖拽:
在这里插入图片描述

好了,Qt自定义控件在Qt Creator上显示的工作完毕。

小结

总结一下,关键的地方是,编译插件的Qt库版本和编译Qt Creator用的Qt库版本要一致,那么就可以显示自定义控件了。

在做这个小测试的过程中,查了挺多网上的资料,不一一列出了,在此表示感谢。另外,如果文中有错漏,烦请大家指出,谢谢。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值