Qt Designer的进阶使用

Qt Designer 详细介绍 QtDesigner 是 QT 官方推出的图形化制作GUI界面的工具。通过拖拽控件的方式就可以快速的制作出一个 GUI 界面。可视化搭建好图形界面之后,只需要关注业务代码即可。Qt Designer 的设计符合MVC的架构,其实现了视图和逻辑的分离。使用 Qt designer 就是为了快速创建出 UI 界面,毕竟手动实现界面效率还是比较低的,特别是还要考虑各种固定组件的布局位置。组件触发可以放在 python 代码中完成。Qt Designer 的使用方法其实不难,从左侧的组件库里面拖拽组件放到窗口里面。 阅读详情

http://blog.youkuaiyun.com/mao19931004/article/details/52070912

熟悉Qt的人或多或少的都会使用Qt Designer(以下简称Designer),在Qt中,提供了一个用于可视化设计软件的界面的过程,使用Designer,你会减少使用代码来设计界面的过程,当然更多的时候是结合着代码以及Designer两者,从而实现较好的界面,对于熟悉MFC的人,对于生成的窗体上拖拽控件应该是非常的熟悉的,本文的侧重点不是介绍Designer的基本使用,而是笔者在使用过程中摸索出有关于Designer的比较好的使用技能,希望可以帮助大家使用Designer;本文实现的环境是VS2010+Qt5.5.1;

1、技能一 ===> 如何将设计的窗体在类中使用

一般来说,我们在使用Qt创建一个Widget的应用的时候,都会给我们创建一个MainWindow的窗体,最简单的只有一个窗体的应用,当然在这上面进行开发就可以了,但是当我们需要更多的窗体的时候,总不能每一个都是去自定义一个窗体类,然后在这个窗体类设计窗体的布局和控件,这样将会非常的耗时,因此需要设计的窗体应用到类中,因此就观察了在创建Qt 的Widget应用的时候,创建工程时,在工程目录下会用三个文件夹界面文件、头文件、以及源文件。当我们点击编译运行后,生成的软件目录下,会有一个关于窗体的文件,即ui_<你的窗口对象名>.h,这个是Form File(.ui)文件的生成的窗体类的原始代码,而这个代码是和我们自己用代码实现窗体是一样的。因此可以形成一下思路:

<====通过Designer设计的窗体在编译后,形成以ui打头关于form设计的头文件,然后通过引用头文件,在自定义类中构建窗体 ====>

具体的过程:

1、通过Designers设计好窗体,本文设计例子如下:

2、点击编译运行,实际上调用了Qt安装目录下一个uic的工具去编译生成有关于窗体(.ui)的C++的头文件,以ui_打头;

3、在自定义类中调用窗体的头文件:ui_portSel.h:

首先添加自定义类:一般类名保持与窗口名一致,即portSel

然后点击确定后,最关键的部分来了,如何引用呢? 很简单,三行代码即可搞定:

首先在头文件portsel.h文件中,包含ui的头文件,本例是#include"ui_portsel.h" :

然后在portSel的类声明的private属性中添加Form文件的声明:

这个是和ui_头文件保持一致的,可以打开ui文件查看:

最后在portSel类的构造函数中,调用setUp函数即可,这个函数也是ui头文件中的:

在main函数,我们应用这个窗体类:

2、技能二 ===> 将C++代码自定义的窗口类应用到Designer

很多时候,Qt的原生部件是无法满足我们的设计需求的,因此需要在原有控件类的基础上,派生自己定义的类,从而达到自己的设计需求。但是如果将自定义的控件应用到Designer中,从而发挥Designer快捷布局和设计UI的特性呢,这个也是笔者在使用的时候经常使用的。

以下以设计一个Button为例,需求是:除了原有QPushButton的特性之外,即显示文本以及Icon,还需要选择一定的状态信息,即点击该按钮以后,打开其他窗口进行设置后,可以显示一定的有关于设置的状态信息,以下是设计的最后结果:

可以看见,显示了[OFF]的状态信息,具体实现过程如下:

1、首先派生自己的Button类,头文件内容如下:

  1. #ifndef CAMERASETBUTTON_H  
  2. #define CAMERASETBUTTON_H  
  3.   
  4. #include <QPushButton>  
  5. class QLabel;  
  6. class CameraSetButton : public QPushButton  
  7. {  
  8.     Q_OBJECT  
  9.   
  10. public:  
  11.     CameraSetButton(QWidget *parent=0);  
  12.     ~CameraSetButton();  
  13.     void setStatus(QString statusInfo);  
  14. private:  
  15.     QLabel *status;  
  16. };  
  17.   
  18. #endif // CAMERASETBUTTON_H  

2、实现内容:

  1. #include "camerasetbutton.h"  
  2. #include<QLabel>  
  3. #include<QRect>  
  4. #include<QHBoxLayout>  
  5. CameraSetButton::CameraSetButton(QWidget *parent)  
  6.     : QPushButton(parent)  
  7. {  
  8.     this->setMinimumSize(200,50);  
  9.     this->setContentsMargins(0,0,0,0);  
  10.     //-----------------------------------------/  
  11.     status = new QLabel(this);  
  12.     QRect btn_rect=this->geometry();  
  13.     int x=btn_rect.bottomRight().x()-40;  
  14.     int y=btn_rect.bottomRight().y()-(this->height()/3)*2;  
  15.     status->setGeometry(x,y,70,20);  
  16.     //-------------------------------------------//  
  17. }  
  18.   
  19. CameraSetButton::~CameraSetButton()  
  20. {  
  21.   
  22. }  
  23.   
  24. void CameraSetButton::setStatus(QString statusInfo)  
  25. {  
  26.     status->setText(statusInfo);  
  27. }  

3、最后最关键的部分是将类应用在Designer的布局中,首先我们继承的是QPushButton,因此该自定义类只能用在QPushButton的提升上;

在Designer的QPushButton中,提升窗口的部件:


接着选择提升的类:



注意这里的类就是刚刚我们自己定义的类,最后点击添加就可以了,然后我们就可以在文件中使用了:


Qt Designer简介 来源 http://www.python3.vip/tut/py/gui/qt_03/ 回顾 在前面的程序中,我们学习了怎么样用程序来把QT程序界面的 一个个窗口、控件创建出来 问题分析 QT程序界面的 一个个窗口、控件,就是像上面那样用相应的代码创建出来的。 但是,把你的脑海里的界面,用代码直接写出来,是有些困难的。 很多时候,运行时呈现的样子,不是我们要的。我们经常还要修改代码调整界面上控件的位置,再运行预览。反复多次这样操作。 可是这样,真的…太麻烦了。 其实,我们可以用QT界面生成器 Qt Desi 阅读详情

相关推荐

[ PyQt入门教程 ] Qt Designer工具的使用

Widget Box控件工具箱是按照控件作用类别进行划分的。这里作为实现入门级界面实现,主要介绍最常使用的控件及控件对象相关函数。函数方法知道怎么获取控件输入内容以及如何将后台操作结果输出到界面控件显示的主要函数就可以了。(1)显示控件。Lable:文本标签,显示文本,可以用来标记控件。:显示文本控件。用于后台命令执行结果显示。(2)输入控件,提供与用户输入交互Line Edit:单行文本框,输入单行字符串。控件对象常用函数为Text() 返回文本框内容,用于获取输入。

ZhiYilang的博客 1万+

Qt Designer 和 PyQt 开发教程

Qt Designer 是一个可视化界面设计工具,支持拖拽控件,快速搭建界面。信号(Signal):控件或对象状态发生变化时发出的通知,比如按钮被点击。槽(Slot):响应信号的函数或方法。PyQt5 通过信号与槽机制实现控件间的通信和事件处理。my_signal = pyqtSignal(str) # 定义带参数的信号')用于快速设计界面,生成.ui文件PyQt5负责加载界面并实现逻辑可以选择转换.ui文件为.py,也可以直接加载.ui通过信号槽机制实现交互(如按钮点击事件)信号槽机制。

不迁怒,不贰过。小知识,大智慧。 2099

Qt Designer教程

打开Qt Designer 软件后,会自动弹出弹窗来选择要创建的内容,一般都选择创建 Widget

m0_56208280的博客 1万+

Qt Designer实战:从下载到创建第一个UI界面的完整指南

下面记录我从零开始用Qt Designer制作计算器UI的全过程,包含踩坑经验和实用技巧。的在线环境中测试通过,它的即开即用特性省去了本地配置环境的麻烦。特别是部署功能,能直接将设计好的UI界面生成可分享的演示链接,对于需要快速展示成果的场景特别实用。若提示缺失DLL文件,可能是系统缺少Visual C++运行库,需安装相应版本。模板,右侧属性编辑器可修改窗口标题为"简易计算器",调整初始尺寸为300x400像素。点击工具栏的"编辑信号/槽"图标,直接拖动数字按钮到LineEdit,选择。

GoldenleafLynx28的博客 254

PyQt窗口设计之Qt Designer

PyQt Qt Designer ui文件的转化 qrc文件的转化

Itsme_MrJJ的博客 1万+

【PySide6】3. Designer 实战:从拖拽到部署的界面开发全流程

本文详细介绍了使用PySide6的Qt Designer工具进行GUI界面开发的全流程。通过创建一个用户登录界面的实战案例,从拖拽控件、应用布局管理器、设置属性到连接信号与槽,逐步演示了如何高效实现所见即所得的设计。文章重点讲解了如何将设计好的.ui文件编译为Python代码,并与业务逻辑集成,最终完成一个可交互的应用程序,显著提升开发效率。

weixin_29081163的博客 375

从零到一:用Qt Designer快速搭建Python桌面应用界面

本文详细介绍了如何利用Qt Designer这一可视化工具,快速搭建Python桌面应用图形界面。从环境配置、拖拽设计第一个图片查看器界面,到理解信号与槽机制、生成可运行代码,提供了完整的从零到一实践指南。通过分离界面与逻辑,开发者能极大提升GUI开发效率,专注于核心功能实现。

solidity8miner的博客 321

qt designer使用自定义ui控件

文章目录qt designer使用自定义ui控件使用须知插件应该存放的位置Qt creator内置的designer独立的designer构建一个可使用的插件Qt creator内置的designer使用独立的designer使用插件的使用 qt designer使用自定义ui控件 使用须知 Windows上预构建的二进制包中包含的Qt Creator是使用Microsoft Visual St...

懵逼人的博客 1万+

qstring乱码 qt4_QT4中文乱码

QT4中文乱码发布时间:2008-07-01 20:54:51来源:红联作者:operlcq初学Linux,直接进阶QT编程。然而,第一个Demo程序就碰到了中文乱码,巨汗!环境:1、RedHat AS52、QT4.4.03、LANG="zh_CN.GB18030"程序:...QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030")...

weixin_39598584的博客 136

使用Qt Designer制作软件的图形界面

介绍 Qt Designer是一款设计和构建图形用户界面的Qt工具,本文介绍如何使用Qt Manager制作软件的图形界面。 安装 使用Qt Manager时,首先在python的环境中安装pyqt,(python3.6安装pyqt5) 安装命令:pip install pyqt5 由于PyQt5不再提供Qt Designer等工具,所以需要再安装pyqt5-tools,命令如下: p...

WhatPrime的专栏 1万+

Qt TabWidget组件的深入应用

在当今的软件界面设计中,TabWidget是一种常见的组件,它允许用户在有限的显示区域内通过切换不同的标签页(tab页)来访问更多信息或执行更多操作。Qt框架作为一款跨平台的C++图形界面应用程序开发框架,对TabWidget组件提供了良好的支持。TabWidget本质上是一个容器,它可以包含多个页面,每个页面都可以放置各种控件,例如按钮、文本框、列表等。用户可以通过点击不同的标签来在各个页面间切换。在Qt中,可以自定义标签页切换动画来增强用户体验。QTabWidget使用。

weixin_33363025的博客 998

Qt Creator新手必看:如何用Qt Creator快速搭建你的第一个跨平台应用(附详细步骤)

本文为Qt Creator新手提供了详细的跨平台应用开发指南,从环境配置到界面设计、业务逻辑实现、数据可视化及跨平台部署,帮助开发者快速掌握Qt Creator的核心功能。通过天气预报应用案例,展示了如何使用Qt Creator构建高效、美观的桌面应用。

p1q2r的博客 1065

HFSS螺旋线圈的优化设计与高效仿真实践

本文详细介绍了HFSS螺旋线圈的优化设计与高效仿真实践,涵盖核心参数设置、参数化建模、仿真加速技巧及结果分析。通过HFSS软件实现螺旋线圈的高效仿真,特别适用于无线充电和RFID系统设计,提升设计效率与性能验证准确性。

weixin_30235225的博客 445

从C++到Qt桌面开发:核心机制、实战避坑与项目构建全指南

在桌面应用开发领域,C++因其高性能和底层控制能力而备受青睐,而Qt框架则以其强大的跨平台能力和丰富的组件库成为C++图形界面开发的首选。其核心机制——信号与槽(Signals & Slots)通过元对象系统(Meta-Object System)实现对象间松耦合通信,取代了传统的回调函数,极大地提升了代码的可维护性和事件处理效率。这一组合的技术价值在于,开发者能够用一套代码库构建出在Windows、macOS和Linux等多个操作系统上原生运行的应用程序,显著降低了跨平台交付的复杂度。在应用场景上,从工业

weixin_30387799的博客 427

STM32(H7)学习记录-14 XSPI连接DDR SDRAM(HyperBus)

主控芯片是STM32H7S7 ,HyperBusRAM芯片是W956D8MBYA5I。*DQS0(这个引脚是作为RWDS)使用的CubeMX版本是6.13.0。

m0_71918616的博客 1073

某10kV纺织厂供电系统设计【CAD图纸源码+Word文档】

本文详细介绍了设计变电所原始资料,负荷统计,基于负荷统计给出了变压器的选型,变电所主接线方式的设计、高低压母线、电缆的技术要求、短路电流的计算以及相关电气设备的保护参数及保护定值的计算、安全措施的规定。

weixin_761237174的博客 2744

Qt Creator自定义控件开发流程

Qt Creator自定义控件开发流程

君鼎的博客 1345

大语言模型在构建UNSPSC 分类数据中的应用

UNSPSC 是联合国标准产品和服务代码。本文研究如何利用大语言模型生成分类系统的分析

姚家湾博客 1867

PyCharm与QT Creator整合:打造高效PyQt可视化开发环境

图形用户界面(GUI)开发是提升软件交互体验的关键技术,其核心原理在于将用户操作与程序逻辑通过事件驱动模型连接。在Python生态中,PyQt/PySide作为成熟的GUI框架,通过绑定Qt库提供了强大的跨平台能力。其技术价值在于显著降低了桌面应用开发门槛,使开发者能快速构建专业级软件。常见的应用场景包括数据分析工具、内部管理系统和跨平台桌面应用。本文聚焦于PyQt开发中的效率痛点,通过整合PyCharm与QT Creator,实现从拖拽设计到代码调试的流畅流水线,其中【可视化设计】和【信号与槽机制】是提升

weixin_33154775的博客 347

顶会新宠!Gate+Attention创新思路发A会

性能提升:在Places2自然场景和CelebA-HQ人脸数据集上,与以往方法相比,该系统在自由形式掩码修复任务中取得了更高的质量和更低的误差(例如,平均ℓ1误差和ℓ2误差显著降低)。硬件效率提升:Griffin和Hawk在TPU-v3上的训练效率与Transformer相当,且在推理时具有更低的延迟和显著更高的吞吐量。门控卷积:提出了一种新的门控卷积机制,通过学习每个通道在每个空间位置的动态特征选择机制,解决了传统卷积将所有输入像素视为有效像素的问题。

2501_92785035的博客 975

开源AI数字人DUIX:从零构建你的智能交互助手

本文详细介绍了如何利用开源AI数字人DUIX从零构建智能交互助手。文章阐述了DUIX作为开源项目的核心优势,包括低成本启动、低网络依赖和高度可定制性,并提供了从开发环境搭建、核心模块(AI模型、语音、形象)配置到个性化业务逻辑开发与最终部署的完整实践指南,帮助开发者快速掌握构建专属AI数字人的全流程。

weixin_29051811的博客 504

QT开发深度学习模型GUI界面

本文介绍了如何在星图GPU平台上自动化部署'深度学习项目训练环境'镜像,快速构建基于QT框架的深度学习模型GUI应用。该镜像支持本地化、跨平台的桌面级AI工具开发,典型应用于图像分类、医疗影像分析等需人机交互的落地场景,显著降低技术使用门槛。

weixin_42393362的博客 141

某程token参数逆向分析

作者声明:文章仅供学习交流与参考!严禁用于任何商业与非法用途!否则由此产生的一切后果均与作者无关!如有侵权,请联系作者本人进行删除!

weixin_73499887的博客 2883

使用Qt Designer来设计界面

介绍Qt Designer,是一个直观可见的全方位 GUI 构造器,它所 设计出来的用户界面能够在多种平台上使用。它是 Qt SDK 的一部分,也是最为重要的开发 工具之一。利用 Qt Designer,我们可以拖放各种 Qt 控件构造图形用户界面并可预览效 果。与纯代码设计界面的区别使用designer设计的.ui文件最终还是会生成相应的.h文件,所以使用designer做的工作都可以自己亲自用代

thinkZHU-的博客 8万+

借助生成式 AI 加快创作速度,通过快速构建 Omniverse 扩展程序,您可以直接在 USD Composer 中连接首选的生成式 AI 智能体并与之交互。或者,您也可以使用由 LLM 提供支持的

通过快速构建 Omniverse 扩展程序,您可以直接在 USD Composer 中连接首选的生成式 AI 智能体并与之交互。或者,您也可以使用由 LLM 提供支持的 OpenUSD 开发方法,为您的工作流程提供强劲助力。

pvmsmfchcs的博客 683

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: C/S和B/S两种架构区别与优缺点分析
下一篇: Linux常用快捷键或命令
cocoasprite
博客等级 码龄14年 72粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值