【Qt】按钮类控件

文章目录

  • 1 :peach:Push Button:peach:
  • 2 :peach:Radio Buttion:peach:
  • 3 :peach:Check Box:peach:
  • 4 :peach:Tool Button:peach:


1 🍑Push Button🍑

使⽤ QPushButton 表⽰⼀个按钮,这也是当前我们最熟悉的⼀个控件了,QPushButton 继承⾃ QAbstractButton ,这个类是⼀个抽象类,是其他按钮的⽗类。
在这里插入图片描述

QAbstractButton 和 QPushButton 相关性较⼤的属性:

属性说明
text按钮中的⽂本
icon按钮中的图标
iconSize按钮中图标的尺⼨
shortCut按钮对应的快捷键
autoRepeat按钮是否会重复触发. 当⿏标左键按住不放时,如果设为 true, 则会持续产⽣⿏标点击事件;如果设为 false, 则必须释放⿏标, 再次按下⿏标时才能产⽣点击事件.(相当于游戏⼿柄上的 “连发” 效果)
autoRepeatDelay重复触发的延时时间. 按住按钮多久之后, 开始重复触发
autoRepeatInterval重复触发的周期
  1. QAbstractButton 作为 QWidget 的⼦类, 当然也继承了 QWidget 的属性,QWidget ⾥的各种属性⽤法, 对于 QAbstractButton 同样适⽤,因此表格仅列出 QAbstractButton 独有的属性。
  2. Qt 的 api 设计⻛格是⾮常清晰的,此处列出的属性都是可以 获取 和 设置 的。例如, 使⽤ text() 获取按钮⽂本; 使⽤ setText() 设置⽂本。

事实上, QPushButton 的核⼼功能都是 QAbstractButton 提供的,⾃⾝提供的属性都⽐较简单。其中 default 和 audoDefault 影响的是按下 enter 时⾃动点击哪个按钮的⾏为; flat 把按钮设置为扁平的样式。

代码⽰例: 带有图标的按钮
在这里插入图片描述
演示结果:
在这里插入图片描述
此时我们要求使用快捷键(w,a,s,d)来控制图标按钮的(上,左,下,右)

我们去找一个上下左右的图标,还是使用qrc机制来进行处理:

在这里插入图片描述
然后再设计快捷键:
在这里插入图片描述
至于按钮与信号的关联在之前的文章有讲解,这里就不在多说了。

在这里插入图片描述
按住⿏标时, 即可让龙头连续移动。(快捷键也同理)

2 🍑Radio Buttion🍑

QRadioButton 是单选按钮,可以让我们在多个选项中选择⼀个。
作为 QAbstractButton 和 QWidget 的⼦类, 上⾯介绍的属性和⽤法, 对于 QRadioButton同样适⽤。
QAbstractButton 中和 QRadioButton 关系较⼤的属性:

属性说明
checkable是否能选中
checked是否已经被选中,checkable 是 checked 的前提条件
autoExclusive是否排他。选中⼀个按钮之后是否会取消其他按钮的选中,对于 QRadioButton 来说默认就是排他的

代码实例:模拟点餐。我们知道如果不分组的话各个单选按钮之间是排他的,所以在此之前我们要进行分组。
在这里插入图片描述
单选按钮与槽函数的连接:
在这里插入图片描述
结果验证:
在这里插入图片描述

在这里补充一下 click, press, release, toggled 的区别:

  • clicked 是⼀次⿏标按下+⿏标释放触发的
  • pressed 是⿏标按下触发的
  • released 是⿏标释放触发的
  • toggled 是 checked 属性改变时触发的

3 🍑Check Box🍑

QCheckBox 表⽰复选按钮,可以允许选中多个。和 QCheckBox 最相关的属性也是 checkable 和 checked , 都是继承⾃QAbstractButton 。⾄于 QCheckBox 独有的属性 tristate ⽤来实现 “三态复选框” ,这个东西⽐较冷⻔,有兴趣大家可以自行下去了解。

代码⽰例: 获取复选按钮的取值
我们创建多个复选按钮,然后打印出来最后选择的所有选项:

代码:
在这里插入图片描述
验证:
在这里插入图片描述
在这里插入图片描述

4 🍑Tool Button🍑

QToolButton 的⼤部分功能和QPushButton 是⼀致的,但是 QToolButton 主要应⽤在⼯具栏, 菜单等场景。这里先不进行过多介绍。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读:《Sequence can Secretly Tell You What to Discard》,减少推理阶段的 kv cache

目前各类大模型都支持长文本,例如 kimi chat 以及 gemini pro,都支持 100K 以及更高的上下文长度。但越长的上下文,在推理过程中需要存储的 kv cache 也越多。假设,数据的批次用 b 表示,输入序列的长度仍然用 s 表示&a…

3.栈和队列(汇总版)

目录 1.栈(一端插和删) 2.队列(一端插另一段删) 2.1队列的概念及结构 2.2 队列的实现 队列的接口 1.初始化队列 2.销毁队列 3.插入元素 4.出队列(头删) 5.访问对头 6.访问队尾 7.判断队列是否为…

基于springboot实现的疫情网课管理系统

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

证明力引导算法forceatlas2为什么不是启发式算法

一、基本概念 吸引力 F a ( n i ) ∑ n j ∈ N c t d ( n i ) ω i , j d E ( n i , n j ) V i , j \displaystyle \bm{F}_a(n_i) \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \omega_{i,j} \; d_E(n_i,n_j) \bm{V}_{i,j} Fa​(ni​)nj​∈Nctd​(ni​)∑​ωi,j​dE​(ni​,nj​…

【StarRocks系列】 Trino 方言支持

我们在之前的文章中,介绍了 Doris 官方提供的两种方言转换工具,分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。 一、Trino 方言验证 我们可以通过…

C语言 | Leetcode C语言题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; void setZeroes(int** matrix, int matrixSize, int* matrixColSize) {int m matrixSize;int n matrixColSize[0];int flag_col0 false;for (int i 0; i < m; i) {if (!matrix[i][0]) {flag_col0 true;}for (int j 1; j < n; j…

C++:多继承虚继承

在C中&#xff0c;虚继承&#xff08;Virtual Inheritance&#xff09;是一种特殊的继承方式&#xff0c;用于解决菱形继承&#xff08;Diamond Inheritance&#xff09;问题。菱形继承指的是一个类同时继承自两个或更多个具有共同基类的类&#xff0c;从而导致了多个实例同一个…

20240507最新 ubuntu20.04安装ros noetic

ubuntu20.04安装ros 主要参考博客 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程_ubuntu20.04安装ros-CSDN博客 出现问题 1.ubuntu20.04 更换清华源报错 ubuntu20.04 更换清华源报错_gvfs metadata is not supported. fallback to teplme-CSDN博客 &#xff1f;&#xff1f…

汽车 - 什么是车轮抱死

车轮抱死分为两种情况&#xff0c;一种是车辆故障层面&#xff0c;另一种是驾驶过程中的物理现象。我们先来说最通俗的刹车车轮抱死吧。 刹车制动车轮抱死 车轮停止轴向转动就是抱死&#xff0c;有速度的情况下抱死车轮&#xff0c;如果车辆的惯性动能大于轮胎抓地力&#xff0…

Springboot集成Mybatispuls操作mysql数据库-03

MyBatis-Plus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatis的基础上只做增强而不做改变。它支持所有MyBatis原生的特性&#xff0c;因此引入MyBatis-Plus不会对现有的MyBatis构架产生任何影响。MyBatis-Plus旨在简化开发、提高效率&#xff0c;…

基于FPGA的去雾算法

去雾算法的原理是基于图像去模糊的原理&#xff0c;通过对图像中的散射光进行估计和去除来消除图像中的雾霾效果。 去雾算法通常分为以下几个步骤&#xff1a; 1. 导引滤波&#xff1a;首先使用导引滤波器对图像进行滤波&#xff0c;目的是估计图像中散射光的强度。导引滤波器…

MATLAB绘制蒸汽压力和温度曲线

蒸汽压力与温度之间的具体关系公式一般采用安托因方程&#xff08;Antoine Equation&#xff09;&#xff0c;用于描述纯物质的蒸汽压与温度之间的关系。安托因方程的一般形式如下&#xff1a; [\log_{10} P A - \frac{B}{C T}] 其中&#xff0c; (P) 是蒸汽压&#xff08…

安卓view坐标系

目录 一、getX、 getRawX、 getTranslationX 等的图形表示二、 getX、 getRawX、 getTranslationX 意义的文字描述 一、getX、 getRawX、 getTranslationX 等的图形表示 坐标系&#xff1a; 视图坐标系&#xff1a; 二、 getX、 getRawX、 getTranslationX 意义的文字描述 …

【吊打面试官系列】Java高并发篇 - volatile 变量和 atomic 变量有什么不同?

大家好&#xff0c;我是锋哥。今天分享关于 【volatile 变量和 atomic 变量有什么不同&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; volatile 变量和 atomic 变量有什么不同&#xff1f; Volatile 变量可以确保先行关系&#xff0c;即写操作会发生在后续的读…

Vue 插槽

Vue插槽是一种特殊的语法&#xff0c;用于在组件中定义可复用的模板部分。它允许开发者在组件的标记中声明一个或多个插槽&#xff0c;然后在使用该组件时&#xff0c;可以根据自己的需求将内容插入到这些插槽中。 Vue插槽分为默认插槽和具名插槽两种。 默认插槽 语法 组件…

中国科技大航海时代,“掘金”一带一路

文&#xff5c;白 鸽 编&#xff5c;王一粟 “这不就是90年代的内地吗&#xff1f;” 在深度考察完沙特市场后&#xff0c;华盛集团联合创始人兼CEO张霆对镜相工作室感慨道。 在张霆看来&#xff0c;沙特落后的基建&#xff08;意味着大量创新空间&#xff09;、刚刚开放…

18.Blender 渲染工程、打光方法及HDR贴图导入

HDR环境 如何导入Blender的HDR环境图 找到材质球信息 在右上角&#xff0c;点击箭头&#xff0c;展开详细部分 点击材质球&#xff0c;会出现下面一列材质球&#xff0c;将鼠标拖到第二个材质球&#xff0c;会显示信息 courtyard.exr 右上角打开已渲染模式 左边这里选择世界…

01、JMS规范介绍

01、JMS规范介绍 在我们正式学习Kafka之前&#xff0c;先来了解下JMS&#xff0c;因为这可以在一定程度上帮助你更加深入的理解和学习Kafka。 1、 JMS简介 JMS&#xff0c;全称Java Mesage Service&#xff0c;即Java消息服务应用程序接口&#xff0c;是一个Java平台中关于面…

HIVE统计WordCount

HIVE WORDCOUNT 目录 HIVE WORDCOUNT 一、WORDCOUNT 1.我们先创建一个新的数据库 2.创建表并插入数据 3.统计WORDCOUNT 4.UNION ALL 用法 5.WITH AS 用法 1.WORDCOUNT 1&#xff09;我们先创建一个新的数据库 create database learn3;use learn3; 2&#xff09;创建表…

产品推荐 | 基于 Virtex UltraScale+ XCVU3P的FACE-VPXSSD-3PA 存储板

01 产品概述 FACE&#xff08;FPGA Algorithm aCceleration Engine&#xff09;FPGA算法加速开发引擎是基于FPGA可编程器件构建的一系列算法加速开发引擎平台。FACE-VPXSSD-3PA存储平台是FACE系列中的一员。该平台板载2组2GB 64bit DDR4、2路QSFP28光接口、4个NVME SSD M.2接口…