Qt应用开发(基础篇)——复选按钮 QCheckBox 单选按钮 QRadioButton

一、前言

        QCheckBox类与QRadioButton类继承于QAbstractButton,QCheckBox是一个带有文本标签的复选框,QRadioButton是一个带有文本标签的单选按钮。

        按钮基类 QAbstractButton

QCheckBox

        QCheckBox复选框是一个很常用的控件,拥有开关(选中和未选中)的机制,通常用于表示应用程序中可以启用或禁用而不会影响其他功能的特性。比如表示是否已读是否启用是否选中是否具备有些特性等场景下经常会用到。

         每当选中或清除复选框时,它都会发出stateChanged()信号,如果需要的话,我们可以绑定此信号根据当前复选框的状态做一些操作,也可以使用isChecked()来查询复选框是否被选中。

        除了通常的选中和未选中状态之外,我们可以使用setTristate()可以启用第三种状态表示没有更改、部分选中或者自定义的状态,如上图第二个就是中间态,当需要为用户提供既不选中也不取消选中复选框的选项时,这非常有用。

QRadioButton

         QRadioButton单选按钮和QCheckBox复选框一样,拥有开关(选中和未选中)的机制,单选按钮通常向用户提供“众多”选择中的一个。 默认情况下,单选按钮具有自动排它性,在一组单选按钮中,一次只能选中一个单选按钮,如果用户选择另一个按钮,则关闭先前选择的按钮,效果类似平铺的下拉框QComboBox。如果需要属于同一父部件的单选按钮的多个独占按钮组,请将它们放入QButtonGroup中。

        每当按钮打开或关闭时,它都会发出toggle()信号。如果需要的话,我们可以绑定此信号根据当前复选框的状态做一些操作,也可以使用isChecked()来查询复选框是否被选中。

快捷方式

         和QPushButton一样,复选框显示文本和可选的小图标。该图标是用setIcon()设置的。文本可以在构造函数中设置,也可以使用setText()设置。可以通过在首选字符前面加上“&”来指定快捷键,下面的例子中使用ALT+C焦点回到部件上,如果需要显示“&”,使用“&&”即可。

QCheckBox *checkbox = new QCheckBox("&Case sensitive", this);
QRadioButton *button = new QRadioButton("Search from the &cursor", this);

二、QCheckBox类

 1、tristate

        该属性表示复选框是否启用三状态复选框,默认为false。

bool isTristate() const
void setTristate(bool y = true)

2、公共方法

1)checkState

        返回当前复选框的选中状态。

Qt::CheckState checkState() const
Qt::CheckState描述
Qt::Unchecked未选中
Qt::PartiallyChecked部分选中,第三种状态。
Qt::Checked选中

2)setCheckState

        设置当前复选框的选中状态。

void setCheckState(Qt::CheckState state)

3、信号

1)stateChanged

        当复选框的状态发生变化时,也就是说,当用户选中或取消选中复选框时,就会发出这个信号。

void stateChanged(int state)

 

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

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

相关文章

远程访问群晖Drive并挂载为电脑磁盘同步备份文件「无需公网IP」

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 前言 群晖作为专业的数据存储中心&…

Linux操作系统

线程竞争 那么初始化一个整型为 0,使用一万个线程,每个线程都对该整型加 1,最后结果不一定会是 10000。这是因为整型变量的赋值操作不是原子操作,也就是说它不是一个不可分割的操作,而是由多条指令组成的。例如&#…

如何在 Linux 中管理用户

Linux是一种开源操作系统,由于其灵活性、稳定性和安全性而被广泛应用于各种应用中。Linux 的基本方面之一是用户管理,它使管理员能够控制对资源的访问并维护系统的安全。 在快节奏的技术世界中,高效的用户管理对于维护安全且组织良好的 Linux 环境至关重要。本文作为 Linux…

Css 将div设置透明度,并向上移50px,盖住上面的元素一部分

可以使用CSS中的opacity和position属性来实现。 首先,将div的opacity属性设置为小于1的值,比如0.5,这样就可以设置透明度了。其次,将div的position设置为relative,然后再将它向上移动50px,即可盖住上面的元…

Kafka多语言版本

Installation curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/kafka/docker-compose.yml > docker-compose.yml docker-compose up -dRust 这里使用的是rdkafka, producer.rs: use std::time::Duration;use clap::{App, Arg}; use log::…

力扣(LeetCode)算法_C++—— 只出现一次的数字

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入&#xff1…

uni-app之android项目云打包

1,项目根目录,找到mainfest.json,如果appid是空的,需要生成一个appid 2,点击重新获取appid,这个时候需要登录,那就输入账号密码登录下 3,登陆后可以看到获取appid成功 4,…

gitHub添加ssh

gitHub添加ssh 首先你需要有一个github的账户 第一步: 打开终端,输入以下命令,注意“your email”处你自己的邮箱,创建新的ssh ssh-keygen -t ed25519 -C “your email” 第二步:使用ssh登录ssh-agent,终端…

【ES6】require、export和import的用法

在JavaScript中,require、export和import是Node.js的模块系统中的关键字,用于处理模块间的依赖关系。 1、require:这是Node.js中引入模块的方法。当你需要使用其他模块提供的功能时,可以使用require关键字来引入该模块。例如&…

恒运资本:股市板块轮动顺口溜?

股市是一个变化多端的场所,不同的板块会因为不同的方针、商场影响、经济形势等多种原因而有不同的体现。因而,不同时期不同板块的轮动也成为了研究的热门。下面咱们就通过一个顺口溜,来深化了解股市板块轮动: “钢铁、水泥、煤炭…

如何在Ubuntu 20.04|18.04上安装 FreeSwitch

如何在Ubuntu 20.04|18.04上安装FreeSwitch 什么是 FreeSwitch PBX?FreeSwitch PBX 系统有哪些功能?开始部署部署前准备开始安装freeswitch 安装完成错误及问题FAQ常见配置文件及说明修改默认端口:防火墙配置账号密码配置/添加新用户freeswit…

Nginx从安装到使用,反向代理,负载均衡

什么是Nginx? 文章目录 什么是Nginx?1、Nginx概述1.1、Nginx介绍1.2、Nginx下载和安装1.3、Nginx目录结构 2、Nginx命令2.1、查看版本2.2、检查配置文件正确性2.3、启动和停止2.4、重新加载配置文件2.5、环境变量的配置 3、Nginx配置文件结构4、Nginx具体…

【ES】笔记-Class类剖析

Class Class介绍与初体验ES5 通过构造函数实例化对象ES6 通过Class中的constructor实列化对象 Class 静态成员实例对象与函数对象的属性不相通实例对象与函数对象原型上的属性是相通的Class中对于static 标注的对象和方法不属于实列对象,属于类。 ES5构造函数继承Cl…

HTML emoji整理 表情符号

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>测试</title></head><body><div style"font-size: 50px;">&#128276</div><script>let count 0d…

将Vue项目迁移到微信小程序中

文章目录 一、创建一个Vue.js的应用程序二、构建微信小程序1. 安装微信小程序构建工具2. 在vuejs项目的根目录中创建一个wepy.confgjs文件3. 在vuejs项目的根目录中运行构建 三、错误记录1. 找不到编译器&#xff1a;wepy-compiler-sass 一、创建一个Vue.js的应用程序 使用 Vu…

Linux 系统服务日志查询 journalctl:查询 systemd 日记

journalctl&#xff1a;查询 systemd 日记 systemd 在取代 SUSE Linux Enterprise 12 中的传统 init 脚本时&#xff08;参见第 13 章 “systemd 守护程序”&#xff09;&#xff0c;引入了自身的称为日记的日志记录系统。由于所有系统事件都将写入到日记中&#xff0c;因此&a…

什么是反向代理(Reverse Proxy)?解释反向代理的作用和常见应用。

1、什么是反向代理&#xff08;Reverse Proxy&#xff09;&#xff1f;解释反向代理的作用和常见应用。 反向代理是一种代理服务器模型&#xff0c;它位于客户端和后端服务器之间。它允许将请求转发到后端服务器&#xff0c;并将响应返回给客户端。反向代理的主要作用如下&…

ElementUI浅尝辄止31:Tabs 标签页

选项卡组件&#xff1a;分隔内容上有关联但属于不同类别的数据集合。 常见于网站内容信息分类或app内容信息tab分类 1.如何使用&#xff1f; Tabs 组件提供了选项卡功能&#xff0c;默认选中第一个标签页&#xff0c;你也可以通过 value 属性来指定当前选中的标签页。 <temp…

Geotools对geojson的解析

在 GeoTools 中&#xff0c;对 GeoJSON 的支持是通过一个插件来完成的&#xff0c;用户同样可以在 Maven 的 pom.xml 配置文件中添加下述的依赖。 <dependency><groupId>org.geotools</groupId><artifactId>gt-geojson</artifactId><version&…

3.运行项目

克隆项目 使用安装的git克隆vue2版本的若依项目&#xff0c;博主使用的版本是3.8.6. git clone https://gitee.com/y_project/RuoYi-Vue.git目录结构如下图所示&#xff0c;其中ruoyi-ui是前端的内容&#xff0c;其它均为后端的内容。 配置mysql数据库 在数据库里新建一个…