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.rhkb.cn/news/462785.html

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

相关文章

【SpringMVC】传递json,获取url参数,上传文件

【传递json数据】 【json概念】 一种轻量级数据交互格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,其本质上是字符串,负责在不同的语言中数据传递与交换 json数据以字符串的形式体现 【json字符串与Java对象互转…

2024/11/1 操作系统pv大题总结

2014: 2022: 2020: 2019: 2011: 读者写者问题:

00-开发环境 MPLAB IDE 配置

MPLAB IDE V8.83 File 菜单简介 New (CtrlN): 创建一个新文件,用于编写新的代码。 Add New File to Project...: 将新文件添加到当前项目中。 Open... (CtrlO): 打开现有文件。 Close (CtrlE): 关闭当前打开的文件。 …

如何在Apple Vision Pro上打造成功的沉浸式叙述应用

随着科技的进步,沉浸式叙述应用正在成为一种全新的娱乐方式。Apple Vision Pro的发布,标志着空间计算技术迈上了新的台阶。本文将探讨如何在Vision Pro上构建一款类似Encounter Dinosaur的沉浸式叙述应用,具体通过分析《Out There》这款作品,总结出一系列关键点,帮助创作者…

Linux练习作业

1.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 2.配置从DNS服务器,对主dns服务器进行数据备份 环境准备 主从服务器都需要进行的操作#关闭防火墙、SELinnux systemctl stop firewalld setenforce 0#软件安装 yum install bind -y实验一&#…

计算机网络:网络层 —— IP 多播技术

文章目录 基本概念IP多播地址和多播组 IP多播的类型硬件多播将IPv4多播地址映射为多播MAC地址 基本概念 多播(Multicast,也称为组播)是一种实现“一对多”通信的技术,允许一台或多台主机(多播源)发送单一数…

掌握AI Prompt的艺术:如何有效引导智能助手

开头叙述: 在人工智能的世界里,Prompt(提示)是沟通人类意图与机器理解之间的桥梁。它不仅是一串简单的文字,而是一把钥匙,能够解锁AI模型的潜力,引导它们执行复杂的任务。本文将探讨Prompt的重…

[SAP ABAP] SMW0上传模板

通常来说,一个批量导入的程序必须使用指定的模板,我们需要将模板保存到SAP系统中,以便用户下载并更改。这里我们可以使用事务码SMW0解决上述的问题 1.选择二进制类型 2.输入存放的包 3.创建对象 选择需要进行上传的本地模板文件到SAP系统中 …

第二十六章 Vue之在当前组件范围内获取dom元素和组件实例

目录 一、概述 二、获取dom 2.1. 具体步骤 2.2. 完整代码 2.2.1. main.js 2.2.2. App.vue 2.3. BaseChart.vue 三、获取组件实例 3.1. 具体步骤 3.2. 完整代码 3.2.1. main.js 3.2.2. App.vue 3.2.3. BaseForm.vue 3.3. 运行效果 一、概述 我们过去在想要获取一…

基于树莓派的安保巡逻机器人--(一、快速人脸录入与精准人脸识别)

目录 零、前言 一、人脸检测 二、人脸识别 1、采集人脸 2、训练人脸识别模型 3、人脸识别应用 零、前言 随着智能安防需求的增长,基于人工智能和物联网的安保系统逐渐成为趋势。树莓派因其低成本、高扩展性等特点,成为很多AI项目的理想平台。本文将为大…

软件测试学习笔记丨Flask操作数据库-对象与数据模型

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23440 对象与数据模型 数据模型:是数据特征的抽象,抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架…

信号量本质 信号量实验(控制车辆运行,优先级反转)互斥量

信号量本质 前面介绍的队列(queue)可以用于传输数据:在任务之间、任务和中断之间。 消息队列用于传输多个数据,但是有时候我们只需要传递状态,这个状态值需要用一个 数值表示,比如: ⚫ 卖家:做好了 1 …

【STL_list 模拟】——打造属于自己的高效链表容器

一、list节点 ​ list是一个双向循环带头的链表&#xff0c;所以链表节点结构如下&#xff1a; template<class T>struct ListNode{T val;ListNode* next;ListNode* prve;ListNode(int x){val x;next prve this;}};二、list迭代器 2.1、list迭代器与vector迭代器区别…

VLAN间通信以及ospf配置

目录 1.基础知识介绍 1.1 什么是VLAN&#xff1f; 1.2 VLAN有什么用&#xff1f; 1.3 不同VLAN如何实现通信&#xff1f; 1.4 什么是路由汇总&#xff1f; 1.4.1 路由汇总的好处&#xff1a; 2. 实验 2.1 网络拓扑设计 2.2 实验配置要求 2.2.1 三层交换配置&#xff…

UE4_Niagara基础实例—13、通过纹理采样来创造粒子

效果&#xff1a; 知识点&#xff1a; 1、纹理采样目前仅支持GPU粒子运行&#xff08;Texture sampling is only supported on the GPU at the moment.&#xff09; 2、网格位置输出每个粒子在网格中的归一化位置。我们使用该值来采样纹理&#xff0c;就像它是UV一样&#xff…

前段(vue)

目录 跨域是什么&#xff1f; SprinBoot跨域的三种解决方法 JavaScript 有 8 种数据类型&#xff0c; 金额的用什么类型。 前段 区别 JQuery使用$.ajax()实现异步请求 Vue 父子组件间的三种通信方式 Vue2 和 Vue3 存在多方面的区别。 跨域是什么&#xff1f; 跨域是指…

基于SpringBoot+Vue实现智能停车收费系统

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…

私有化视频平台EasyCVR海康大华宇视视频平台视频诊断技术是如何实时监测视频质量的?

在现代视频监控系统中&#xff0c;确保视频流的质量和稳定性至关重要。随着技术的进步&#xff0c;视频诊断技术已经成为实时监测视频质量的关键工具。这种技术通过智能分析算法对视频流进行实时评估和处理&#xff0c;能够自动识别视频中的各种质量问题&#xff0c;并给出相应…

Linux云计算 |【第五阶段】CLOUD-DAY10

主要内容&#xff1a; 部署Dashboard、部署Prometheus、部署HPA集群 一、Dashboard介绍 Dashboard是基于网页的Kubernetes用户界面&#xff0c;可以使用Dashboard将容器应用部署到Kubernetes集群中&#xff0c;也可以对容器应用排错&#xff0c;还能管理集群资源。可以使用Da…

无人机避障——4D毫米波雷达Octomap从点云建立三维栅格地图

Octomap安装 sudo apt-get install ros-melodic-octomap-ros sudo apt-get install ros-melodic-octomap-msgs sudo apt-get install ros-melodic-octomap-server sudo apt-get install ros-melodic-octomap-rviz-plugins # map_server安装 sudo apt-get install ros-melodic-…