Qt (6)【按钮类控件 | QPushButton | QCheckBox | QRadioButton | QToolButton】

news2024/11/25 22:55:48

阅读导航

  • 引言
  • 一、按钮类控件概述(继承关系)
  • 二、QPushButton
  • 三、QRadioButton
  • 四、QCheckBox
  • 五、QToolButton

引言

在之前的文章中,我们聊到了Qt中QWidget的基础属性,它是构建所有GUI元素的基础。今天,我们要更进一步,聊聊Qt中非常直观且常用的控件——按钮。

一、按钮类控件概述(继承关系)

在这里插入图片描述
由上图我们可以看出按钮类控件(QPushButton | QCheckBox | QRadioButton | QToolButton)都继承自QAbstractButton类,而QAbstractButton,作为QWidget的子类,自然而然地继承了QWidget的所有属性,所以我们上一篇文章讲的QWidget类的属性都可以在按钮类的控件中使用。例如,可以使用text()方法获取按钮的文本,而使用setText()方法来设置文本。

二、QPushButton

使用 QPushButton 表示一个按钮。Qt的按钮类控件支持自定义文本、图标、尺寸、快捷键以及重复触发行为(包括延时和周期),以提供丰富的用户交互体验。

属性名称说明
text按钮中的文本
icon按钮中的图标
iconSize按钮中图标的尺寸
shortCut按钮对应的快捷键
autoRepeat按钮是否会重复触发。当鼠标左键按住不放时,如果设为true,则会持续产生鼠标点击事件;如果设为false,则必须释放鼠标,再次按下鼠标时才能产生点击事件。(相当于游戏手柄上的"连发"效果)
autoRepeatDelay重复触发的延时时间。按住按钮多久之后,开始重复触发。
autoRepeatInterval重复触发的周期。

三、QRadioButton

QRadioButton 是 Qt 框架中的一个单选按钮控件,它允许用户在多个选项中仅选择一个。

  • 作为 QAbstractButton 和 QWidget 的子类,QRadioButton 继承了这两个类的所有属性和用法,包括文本、图标、尺寸、快捷键等属性的设置与获取,以及信号与槽机制等交互方式。因此,前面介绍的关于 QWidget 和 QAbstractButton 的属性和用法,同样适用于 QRadioButton
  • QRadioButton 还具有自己特有的单选互斥功能,确保在同一组中的单选按钮中一次只能有一个被选中
属性名称说明
checkable是否能选中
checked是否已经被选中。checkablechecked的前提条件。
autoExclusive是否排他。选中一个按钮之后是否会取消其他按钮的选中。对于QRadioButton来说,默认就是排他的。

四、QCheckBox

QCheckBox 是表示复选按钮的控件,它允许用户从多个选项中选择多个。QCheckBox 最直接相关的属性是 checkablechecked,这两个属性都是从 QAbstractButton 类继承而来的checkable 属性决定了复选框是否可以被选中或取消选中,而 checked 属性则表示复选框当前的选中状态。

五、QToolButton

QToolButton通常用于工具栏(QToolBar)中,作为快速访问常用功能或选项的按钮

属性名称说明
arrowType设置按钮是否显示箭头图标,以及箭头的方向。这通常用于表示按钮具有下拉或弹出菜单的功能。
autoRaise控制按钮在鼠标悬停时是否自动浮起,增加视觉反馈。当设置为true时,鼠标悬停在按钮上时,按钮会稍微浮起,以吸引用户的注意。
popupMode设置弹出菜单的触发方式。这决定了用户如何触发与按钮关联的弹出菜单。可能的值包括延迟弹出、立即弹出和仅当点击箭头图标时弹出。
toolButtonStyle设置按钮的显示风格,包括图标、文本及其组合方式。这允许开发者根据需要调整按钮的外观,使其更加符合应用程序的整体风格或用户界面的布局。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2045448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码时代:重塑软件开发版图的机遇与挑战

低代码时代:重塑软件开发版图的机遇与挑战 在数字化转型的浪潮中,低代码(Low-Code)开发平台如同一股清新的风,迅速席卷了整个IT行业,以其“让非专业人士也能快速构建应用程序”的承诺,引发了广…

如何彻底清除硬盘数据不被恢复?保护隐私无忧

在数字时代,硬盘作为存储重要数据的主要设备,其安全性备受关注。当我们需要出售、赠送或报废电脑时,彻底清除硬盘上的数据以防止敏感信息泄露显得尤为重要。本文将详细介绍几种彻底清除硬盘数据且不可恢复的方法,帮助用户保护个人…

自制深度学习推理框架之计算图设计

文章目录 一、计算图1.1 计算图定义1.2 计算图的生成1.2.1 **静态计算图(Static Computational Graph)**1.2.2 **动态计算图(Dynamic Computational Graph)** 1.3 计算图功能1.3.1 训练阶段1.3.2 推理部署阶段 1.4 计算图的调度(执…

Datawhale X 魔搭 AI夏令营第四期-魔搭生图task3学习笔记

进入魔搭社区,找到我的Notebook选择对应运行环境 因为我是一天前登录的,所以需要重新使用相关账号重新登陆。大家可以根据自己的具体情况来登录,仅供参考 进入后,新建终端 在命令行输入如下命令下载安装ComfyUI的执行文件和task1中…

观察者模式(ObserverPattern)

文章目录 1.观察者模式定义2.UML类图3.实现代码 1.观察者模式定义 定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象 如果你订阅了一份杂志或报纸, 那就不需要再去报摊查询新出版的刊物了。 出版社 (即应用中的 “…

记录一个lombok和mybatisplus的问题,@Data注解失效

刚开始我这里一直爆红,Article实体类也加了Data注解 依赖也导入了lombok,后来觉得是版本的问题,换了几个版本也是不行 后来最后还是在各种资料下,找到了原因 首先使用lombok不是只要导入依赖就行的,还要有插件&#…

软件工程造价师习题练习 11

1.如果数据功能由被度量应用维护,则为一个EIF。 错误 正确 如果数据功能由被度量应用维护,则为一个ILF。如果数据功能由被度量应用引用但不维护,且其为其他应用的一个ILF,则为一个 EIF。 答案:错误 2.图书管理系统…

【傅里叶分析】复数基础知识

【傅里叶分析】复数基础知识 复数复数的几何意义与点的对应与向量的对应 复数与极坐标辐角与辐角主值三角函数 参考文献 本文参考了网上的其他文章,已在文末参考文献中列出;如有侵权,请联系我删除。 复变函数是傅里叶分析的基础,而…

OpenCV图像滤波(12)图像金字塔处理函数pyrDown()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 函数主要是对图像进行模糊处理并将其降采样。 默认情况下,输出图像的大小计算为 Size((src.cols1)/2, (src.rows1)/2),但…

初识C++(下):const引用/inline/nullptr

1.引用 1.1const引用 可以引用一个const对象&#xff0c;但是必须用const引用。const引用也可以引用普通对象&#xff0c;因为对象的访问权限在引用过程中可以缩小&#xff0c;但是不能被放大 #include<iostream>using namespace std;int main() {const int a 10;//权…

SpringBoot中整合RabbitMQ(测试+部署上线 最完整)

一、RabbitMQ安装 由于在测试环境中&#xff0c;我们现在虚拟机上基于docker安装mq docker run \-e RABBITMQ_DEFAULT_USERquick \-e RABBITMQ_DEFAULT_PASS123 \-v mq-plugins:/plugins \--name mq \--hostname mq \-p 15672:15672 \-p 5672:5672 \--network your-net\-d \r…

学习文本到语音转换技术时为何要掌握Mel频谱图?

理解Mel频谱图 “Mel”指的是梅尔频率刻度&#xff08;Mel Frequency Scale&#xff09;&#xff0c;这是一种基于人类听觉感知方式的频率刻度。梅尔频率刻度旨在更好地模拟人耳对声音的感知&#xff0c;因为人类对频率的感知并不是线性的&#xff0c;而是对低频更敏感&#x…

gitlab查看root密码

gitlab查看root密码 gitlab安装后会创建默认的root密码&#xff0c;密码存在配置文件cat /etc/gitlab/initial_root_password中。

深度解析Edge SCDN与CDN:安全加速,全面防护

在现代互联网应用中&#xff0c;CDN已成为提高网站和应用性能不可或缺的技术之一。然而&#xff0c;随着网络安全威胁的日益严峻&#xff0c;单纯依靠CDN提供的加速服务已经不足以满足企业的安全需求。因此&#xff0c;Edge SCDN出现了&#xff0c;它不仅具备CDN的加速特性&…

Selenium + Python 自动化测试12(unittest组织更多用例)

我们的目标是&#xff1a;按照这一套资料学习下来&#xff0c;大家可以独立完成自动化测试的任务。 上一篇我们讨论了unittest中test suite 的构建&#xff0c;可以测试多条测试用例。 本篇文章我们接着讲。使用discover()方法构建更多的测试用例。 1、引入需要完成的任务 上…

【鸿蒙教程】快速集成鸿蒙 IM SDK 并实现单聊发送消息

本文手把手教您快速集成鸿蒙版环信即时通讯 IM 并实现单聊。 教程目录 前提条件准备开发环境SDK导入及声明SDK 初始化注册监听回调注册登录发送消息 前提条件 DevEco Studio NEXT Developer Beta1&#xff08;5.0.3.300&#xff09;及以上&#xff1b;HarmonyOS SDK API 12…

4款视频剪辑免费软件推荐,剪辑必备的神器!

对于许多新入门的剪辑小白或者经费有限的剪辑朋友来说&#xff0c;寻找一款免费且好用的剪辑软件是非常重要的。今天&#xff0c;我就来给大家分享4款很实用且专业的免费剪辑软件。 1、福昕免费剪辑 直达链接&#xff1a;www.pdf365.cn/foxit-clip/ 第一个是款功能全面且易上…

支持海思3520D平台网络硬盘录像机NVR源码与NVR解决方案

支持海思3520D平台网络硬盘录像机NVR源码与NVR解决方案 本NVR模组基于HiSilicon&#xff08;海思&#xff09;平台&#xff0c;提供了一套完整的网络视频录像机&#xff08;NVR&#xff09;解决方案。该方案集成了视频接入、存储、回放、智能处理、告警及系统管理等功能模块&a…

数字化转型的权威指南:《数字化时代的敏捷架构》

「链接」https://shop.architectszone.org.cn/p/t_pc/goods_pc_detail/goods_detail/v_66bc7093e4b0d84dab16b12c 《数字化时代的敏捷架构》培训课程 全球最具影响力数字化转型架构出品方The Open Group 专注于企业架构师职业发展的平台AZone联合推出 The Open Group&#x…