编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件

在使用Qt Designer设计窗体界面时,我们可以使用Widget Box里的窗体控件非常方便的绘制界面,比如拖进去一个按钮,一个文本编辑器等。虽然Qt Designer里的控件可以满足我们大部分的需求,但是有时候,也会产生一些特殊的需要,比如一个输入框,我们要输入的是经纬度,此时就会有两种输入方式,一种是小数形式,一种是度分秒的形式,此时只使用一个简单的LineEdit是无法满足需求的。我们设想构造这样一个输入控件,它可以支持浮点数输入,同时它还具有一个属性,更改这个属性可以使其切换为经纬度输入形式。如果我们的多个窗体上都需要输入经纬度,那么构造这样一个控件,将会非常方便。下面就以此为例,讲解一下如何创建自定义的窗体控件。

第一步:创建QtDesigner自定义控件工程

打开Qt Creator,创建一个Qt 设计师自定义控件,如下图所示:

根据向导提示,创建好工程,这里取名为LogLatEdit,工程目录如下图所示:

第二步:编译控件工程

为了淌通整个自定义控件的编写流程,我们先不做任何更改,切换为Release版本,直接编译一下。

第三步:部署插件

编译完成后,在输出目录下,将生成的dll文件和lib文件一起拷贝到Qt的插件目录下,以我使用的Qt 4.8.4为例,在Qt 4.8.4的安装目录D:\Qt\4.8.4下,找到plugins目录,在其中找到designer目录,然后把dll和lib放进去,完整路径为:D:\Qt\4.8.4\plugins\designer。之后,启动D:\Qt\4.8.4\bin下的designer.exe,创建一个窗体,此时就会发现在左侧的Widget Box里出现了我们自己的LogLatEdit控件,我们可以像使用其它控件一样,把我们自己的控件拖绘到窗体上,如下图所示:

如果自定义控件没有出现在Widgetbox里,那么此时你可以通过【帮助-关于插件】菜单,打开插件信息对话框,点击刷新按钮,只要你没有忘记把dll和lib文件拷贝到正确的位置,插件都会自动识别并加载。对于其它版本的Qt也一样,比如我自己的电脑里安装了好几个版本的Qt,对于其它版本的Qt,做法也是一样,只需要把插件工程生成的dll和lib文件放置到相应版本的插件目录下去即可。

到此,我们就理清了如何创建一个自定义控件,并且知道了如何部署、加载并使用自定义控件。下面我们开始编写我们需要的控件,对于只想了解自定义控件开发过程的读者,至此就已经知道如何做了,那么后面的内容您可以略过不读了。

编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件,布布扣,bubuko.com

时间: 2024-10-10 02:35:30

编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件的相关文章

把自定义控件集成到Qt Designer中

要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在.有两种方法可以把新自定义控件的信息通知给Qt Designer:“升级(promotion)”法和插件法. 升级法最为简便快捷.顾名思义,升级法就是把Qt自有的控件进行升级改造一番.选一个Qt自有的控件,如果它和我们新加的自定义控件有着相似的API,那么只要在Qt Designer的对话框里面完成有关新控件的信息就一切大吉,新控件就可以用在Qt Designer创建的form中.但是在编辑

自定义的插件如何加载到Qt Designer中(详细)

要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在.有两种方法可以把新自定义控件的信息通知给Qt Designer:“升级(promotion)”法和插件法.升级法最为简便快捷.顾名思义,升级法就是把Qt自有的控件进行升级改造一番.选一个Qt自有的控件,如果它和我们新加的自定义控件有着相似的 API,那么只要在Qt Designer的对话框里面完成有关新控件的信息就一切大吉,新控件就可以用在Qt Designer创建的form中.但是在编辑

Why Does Qt Use Moc for Signals and Slots(QT官方的解释:GUI可以是动态的)

GUIs are Dynamic C++ is a standarized, powerful and elaborate general-purpose language. It's the only language that is exploited on such a wide range of software projects, spanning every kind of application from entire operating systems, database ser

使用Qt Designer创建界面

在博客 "在Qt中使用C++代码创建界面"  (地址:http://blog.csdn.net/rl529014/article/details/51345619)中,我讲了如何通过纯C++代码来创建Qt图形界面, 这是传统的GUI程序开发方式,只使用C++代码,C++既负责设计界面,也负责处理业务逻辑. 界面是用户能够直接看到的,称为"前端":业务逻辑的处理用户看不到,在背后默默进行,称为"后台". 传统的GUI程序开发不区分前端和后台,统一使

Qt使用教程之创建一个基于Qt部件的应用程序(一)

<Qt Enterprise最新版下载> 本教程主要介绍了如何使用Qt Creator来创建一个文字搜索的小的Qt应用程序,它是Qt UI Tools Text Finder Example的简化版本.该应用程序的用户界面是由Qt部件使用Qt Designer构建的:在代码编辑器中使用C ++编写该应用程序的逻辑. 创建文本搜索项目 1. 选择File > New File or Project > Application > Qt Widgets Application &

Qt以及Qt Designer怎样加入资源文件

本篇经验主要是作者开发在VS上开发Qt程序的时候遇到的问题,现在分享给大家,主要就是在Qt中嵌入如图像等资源文件. 如有疑问欢迎留言. 工具/原料 Qt Designer Qt Open Source 4.8.5 方法/步骤 在Qt Designer中如果在设计UI界面的时候要加入一些图素,图标等资源的时候是不能直接添加进去的,需要在Qt开发目录下编写QRC文件. QRC文件是类似于XML格式的文件,可以手动创建. 首先穿件一个TXT文本,然后键入如下图所示的格式.在其中添加你想要的资源文件,最

痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)

大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术或工具的介绍,前段时间因为要做一个跟恩智浦MCU启动相关的上位机工具 NXP-MCUBootUtility,网上搜索对比了几个Python下的GUI框架,最终选择了wxPython这个成熟稳定的GUI库,从而接触到wxFormBuilder这个配套wxPython使用的GUI构建工具.苦于网上关于该

VS2008 Qt Designer 中自定义信号槽

一.Qt Designer自定义槽函数 发现:在VS2008 +Qt4.7  中打开ui文件,所用的英文QT Designer工具,没有转到槽函数的功能,不如QtCreator自带的QtDesigner功能齐全,只能Editor已有的信号槽. 发现:在QtCreator中右击某个控件 有"转到槽"功能,就会在.h和.cpp文件中生成我们的自定义槽函数void on_openButton_clicked() 解决方法:在VS2008中,选择某个项目,选择菜单Qt/Creat basic

Qt Designer 插件

这两天学习Qt案例Custom Widget Plugin Example,这是一个Qt Designer自定义控件.原则上,如果成功,它可以和Qt Designer 的其他控件一样拖放编辑.然而,在实践的过程中遇到了各种问题,始终无法实现这种效果,那个大神如果可以,请指导一下.这里,我将遇到的一些坑写下来. 起先,大家应该都一样,按案例默认配置编译.编译之后,新建一个项目,在Qt creater 设计里面期待出现一个新的控件条.然而想多了,没有.再看文档,编译之后要执行make install