Qt QCheckBox、QPushButton和QRadioButton详解

QCheckBox(复选框)

功能:QCheckBox用于创建一个复选框控件,允许用户从多个选项中选择多个。

属性

  • checkable:决定复选框是否可以被选中或取消选中。
  • checked:表示复选框当前的选中状态setChecked(bool):设置选中/非选中状态;isChecked():判断当前选中状态
  • 可以设置文本、图标、工具提示等。

常用的信号与槽

  • stateChanged(int):当复选框的状态发生变化时发出。
  • clicked(bool):当复选框被点击时发出。

使用场景:适用于需要用户从多个选项中选择多个的情况,如设置界面的多个选项开关。

QPushButton(普通按钮)

功能:QPushButton用于创建一个普通按钮,用户通过点击按钮来触发预定义的动作或事件。

属性

  • 可以显示文本标签、图标,或者两者同时显示。
  • 支持自定义按钮的外观、行为以及与用户的交互逻辑。

常用的信号与槽

clicked():当按钮被点击时发出。

使用场景:适用于用户界面中需要触发特定动作或事件的场景,如打开新窗口、关闭窗口、执行计算等。 

QRadioButton(单选按钮)

功能:QRadioButton用于创建一个单选按钮控件,允许用户在多个选项中仅选择一个。

属性

  • 继承自QAbstractButton和QWidget,具有这两个类的所有属性和用法。
  • 具有单选互斥功能,确保在同一组的单选按钮中一次只能有一个被选中。

  • 可以设置文本、图标等。

常用的信号与槽

  • toggled(bool):当单选按钮的选中状态发生变化时发出。
  • clicked():当单选按钮被点击时发出。

使用场景:适用于需要用户从多个选项中选择一个的情况,如设置界面的单选选项。

联系与区别

联系

  • QCheckBox、QPushButton和QRadioButton都继承自QAbstractButton类,因此具有一些共同的属性和用法,如设置文本、图标等。
  • 它们都支持Qt的信号与槽机制,可以通过连接信号和槽来实现用户交互。

区别

  • 功能不同:QCheckBox用于多选,QPushButton用于触发动作或事件,QRadioButton用于单选。
  • 属性不同:QCheckBox具有checkablechecked属性,QPushButton主要关注按钮的点击事件,而QRadioButton则具有单选互斥功能。
  • 使用场景不同:根据具体需求选择合适的控件类型。

注意:当QCheckBox和QRadioButton的状态发生改变时,内部自动调用setChecked(bool)方法设置其当前状态。不需要再手动设置(代码中调用setChecked(bool)设置)。

按钮簇

通过网盘分享的文件:QButtonCluster.rar
链接: https://pan.baidu.com/s/1U_4mf_JCVWeXMkrGHHcflQ 提取码: hjjj 

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

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

相关文章

6、显卡品牌分类介绍:技嘉 - 计算机硬件品牌系列文章

技嘉科技是一家以主板、‌显卡在业界缔造无以撼动的地位的科技公司,‌其核心理念是「‌技术创新、‌质量稳定」‌的高标准。‌技嘉专注于关键技术研发,‌其经营范围涵盖家用、‌商用、‌电竞等多元科技领域。‌通过应用突破性的专利技术,‌技…

自编以e为底的指数函数exp,性能接近标准库函数

算法描述: (1). 先做自变量x的范围检查,对于双精度浮点数,自变量不能超出(-1022ln2, 1024ln2)(-708.39, 709.78),否则exp(x)会溢出。对于单精度浮点数,自变量不能超出(-126ln2, 128ln2)(-87.33, 88.72). 自己使用此函数…

es安装拼音分词后Kibana出现内存错误

出现错误 今天在安装es的拼音分词器,并重启es容器后,登录Kibana无法使用,查询日志发现如下报错 Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations... | typelog timestamp2024…

前端react面试基础知识(II)

这些问题涵盖了 React 的很多核心概念和实际应用场景。下面是针对每个问题的详细回答: 1. **React 项目中,如何动态改变组件的 class 来切换样式?** 可以通过条件判断或者状态(state)来动态改变组件的 class。例如,使…

Day 42 || 完全背包、518. 零钱兑换 II 、 377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)

完全背包 题目链接:卡码网第52题 思路:和之前01背包一样,但是物品可以无限放置,所以之前二维数组中的背包容量是倒序遍历的,现在可以正序遍历即可重复放入。 import java.util.Scanner; public class Main {public …

数据结构-二叉树中的递归

目录 前言 简单手撕二叉树 二叉树节点的求解 二叉树叶子节点的求解 二叉树高度 二叉树第K层节点的个数 二叉树查找值为X的节点 结束语 前言 在这里说声抱歉,好久没更新数据结构了,二叉树的相关内容还没有更新完,是小编的失职&#xff…

在基于AWS EC2的云端k8s环境中 搭建开发基础设施

中间件下载使用helm,这里部署的都是单机版的 aws-ebs-storageclass.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: aws-ebs-storageclass provisioner: kubernetes.io/aws-ebs parameters:type: gp2 # 选择合适的 EBS 类型,如 gp2、io1…

Apache Calcite - 查询优化之自定义优化规则

RelOptRule简介 为了自定义优化规则,我们需要继承RelOptRule类。org.apache.calcite.plan.RelOptRule 是 Apache Calcite 中的一个抽象类,用于定义优化规则。优化规则是用于匹配查询计划中的特定模式,并将其转换为更优化的形式的逻辑。通过继…

2024网鼎杯青龙组wp:Crypto1

题目 附件内容如下 from Crypto.Util.number import * from secret import flag from Cryptodome.PublicKey import RSAp getPrime(512) q getPrime(512) n p * q d getPrime(299) e inverse(d,(p-1)*(q-1)) m bytes_to_long(flag) c pow(m,e,n) hint1 p >> (51…

Python 单元测试中的 Mocking 与 Stubbing:提高测试效率的关键技术

在软件开发过程中,单元测试是确保代码质量的重要环节。为了实现高效的单元测试,我们常常需要隔离待测试的代码与其外部依赖。这时候,Mocking(模拟)和 Stubbing(桩)技术就显得尤为重要。这两种技…

Golang | Leetcode Golang题解之第528题按权重随机选择

题目&#xff1a; 题解&#xff1a; type Solution struct {pre []int }func Constructor(w []int) Solution {for i : 1; i < len(w); i {w[i] w[i-1]}return Solution{w} }func (s *Solution) PickIndex() int {x : rand.Intn(s.pre[len(s.pre)-1]) 1return sort.Searc…

3D打印机 屏幕的固定挂钩断后的一次自己修复经历

引子 3D打印机的屏幕固定挂钩断了 这次确实不知道咋断的&#xff0c;这可咋办呢&#xff0c;到网上看了一下&#xff0c;一个屏幕要2佰多&#xff0c;有些小贵&#xff0c;要不就自己修修吧&#xff0c;打个挂钩按上&#xff0c;说干就干。 正文 freecad的设计图如下【其中各…

PHP合成图片,生成海报图,poster-editor使用说明

之前写过一篇使用Grafika插件生成海报图的文章&#xff0c;但是当我再次使用时&#xff0c;却发生了错误&#xff0c;回看Grafika文档&#xff0c;发现很久没更新了&#xff0c;不兼容新版的GD&#xff0c;所以改用了intervention/image插件来生成海报图。 但是后来需要对海报…

Java基于微信小程序的美食推荐系统(附源码,文档)

博主介绍&#xff1a;✌程序猿徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Linux的IP网路命令: 用于显示和操作网络接口(网络设备)的命令ip link详解

目录 一、概述 二、用法 1、基本语法 2、常用选项 3、常用参数 4、获取帮助 三、示例 1. 显示所有网络接口的信息 &#xff08;1&#xff09;命令 &#xff08;2&#xff09;输出示例 &#xff08;3&#xff09;实际操作 2. 启动网络接口 3. 停止网络接口 4. 更改…

【驱动】地平线X3交叉编译工具搭建、源码下载

1、交叉编译工具搭建 1)安装依赖包 sudo apt-get install -y build-essential make cmake libpcre3 libpcre3-dev bc bison \ flex python3-numpy mtd-utils zlib1g-dev debootstrap \ libdata-hexdumper-perl libncurses5-dev zip qemu-user-static \ curl repo git liblz4…

服务器上清理Docker容器运行日志的正确方法

为啥要清理服务器上docker容器的日志 因为是服务器的磁盘空间资源有限&#xff0c;由于docker容器在启动的时候没有限制&#xff0c;导致运行的docker容器随着时间的推移产生的日志越来越多&#xff0c;最后把服务磁盘资源耗尽&#xff0c;服务器的磁盘满了会导致服务器的应用无…

C语言 | Leetcode C语言题解之第526题优美的排列

题目&#xff1a; 题解&#xff1a; int countArrangement(int n) {int f[1 << n];memset(f, 0, sizeof(f));f[0] 1;for (int mask 1; mask < (1 << n); mask) {int num __builtin_popcount(mask);for (int i 0; i < n; i) {if (mask & (1 <<…

SpringBoot篇(自动装配原理)

目录 一、自动装配机制 1. 简介 2. 自动装配主要依靠三个核心的关键技术 3. run()方法加载启动类 4. 注解SpringBootApplication包含了多个注解 4.1 SpringBootConfiguration 4.2 ComponentScan 4.3 EnableAutoConfiguration 5. SpringBootApplication一共做了三件事 …

3D Gaussian Splatting代码详解(二):模型构建

3 模型构建 gaussians GaussianModel(dataset.sh_degree) 3.1 初始化函数 __init__ 构造函数 构造函数 __init__ 的主要作用是初始化 3D 高斯模型的各项参数和激活函数&#xff0c;用于生成 3D 空间中的高斯表示。 初始化球谐函数的参数&#xff1a; self.active_sh_degre…