【Qt】常用控件QRadioButton

news2024/9/27 21:31:08

 常用控件QRadioButton

        QRadioButton是单选按钮,可以在多个选项中选择一个。

作为QAbstractButton和QWidget的子类,其属性和用法,对于QRadioButton同样适用。

属性说明

checkable

是否能选中

checked

是否已经被选中. checkable 是 checked 的前提条件

autoExclusive

是否排他.

选中⼀个按钮之后是否会取消其他按钮的选中.

对于 QRadioButton 来说默认就是排他的.

"排他"的意思是是否支持单选或者是支持多选。

例子:选择性别 

可以添加默认选项

也可以禁用选项

但是checkable只是能够让按钮不被选中,但是仍然可以响应点击事件的,可以使用setEnabled或者setDisabled

例子:clicked、clicked(bool)、pressed、released、toggled的区别

【总结】

  • clicked 表⽰⼀次 "点击"
  • pressed 表⽰⿏标 "按下"
  • released 表⽰⿏标 "释放"
  • toggled 表⽰按钮状态切换.

例子:基于QRadioButton实现一个简单的模拟点餐的功能

假设模拟汉堡点餐:

1.汉堡

1.1.鸡腿堡

1.2.牛肉堡

2.小食

2.1.薯条

2.2.鸡块

2.3.鸡翅

3.饮品

3.1.可乐

3.2.雪碧

通过Qt Designer的设计,可以对点餐系统进行初步完善

RadioButton默认是排他的,一旦界面上需要存在“多组”单选按钮的时候,希望组与组之间不要又影响。

Qt中提供了QButtonGroup类,可以针对单选按钮进行分组

代码实现:

#include "widget.h"
#include "ui_widget.h"

#include<QButtonGroup>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //使用QButtonGroup对单选按钮进行分组
    QButtonGroup* group1 = new QButtonGroup(this);
    QButtonGroup* group2 = new QButtonGroup(this);
    QButtonGroup* group3 = new QButtonGroup(this);

    //将单选按钮放入各自的类中
    group1->addButton(ui->radioButton);
    group1->addButton(ui->radioButton_2);

    group2->addButton(ui->radioButton_3);
    group2->addButton(ui->radioButton_4);
    group2->addButton(ui->radioButton_5);

    group3->addButton(ui->radioButton_6);
    group3->addButton(ui->radioButton_7);
}

Widget::~Widget()
{
    delete ui;
}

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

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

相关文章

平安养老险宿州中支开展消防培训及逃生演练活动

近日&#xff0c;平安养老保险股份有限公司&#xff08;以下简称“平安养老险”&#xff09;宿州中心支公司邀请助安消防公司袁教官为公司员工开展消防安全知识培训。 培训教官结合近年来火灾典型案例&#xff0c;对火灾的危害、火灾的预防措施、灭火器材的使用进行深入浅出的…

centos 常用软件的安装和使用

redis 安装 0、下载、解压那些的我在这儿就不说了&#xff0c;有不懂的&#xff0c;看我之前写的博客。 1、在安装 redis 之前&#xff0c;我们得先安装它的依赖 yum install gcc-c 2、假设我下载放进的目录是 /usr/local/src/ &#xff0c; 并且 我的版本为 redis-6.0.8 …

数字化转型对金融服务业的影响

数字化转型正在塑造每个行业&#xff0c;从快速消费品到金融&#xff0c;每个行业都受到新兴技术的影响。 那么&#xff0c;数字化转型在金融服务中扮演什么角色&#xff1f;这对招聘前景有何影响&#xff1f; 我们探讨了数字化转型对该行业的影响、其对招聘策略的影响、数据…

适合大学生的耳机排行有哪些?四大TOP级性价比蓝牙耳机合集

大学生生活多彩多姿&#xff0c;耳机也成为了他们日常生活、学习和娱乐中不可或缺的配件。但面对市面上琳琅满目的耳机品牌和型号&#xff0c;选择性价比高且适合自身需求的耳机变得尤为重要&#xff0c;那么适合大学生的耳机排行有哪些&#xff1f;今天我就为大家精选了四大TO…

SpringBoot如何配置动态数据源?原理+实战

若没空探究原理可直接跳转到“实现方式&#xff1a;注解切面”目录 数据源切换方法 Spring对数据源的管理类似于策略模式&#xff0c;不懂策略模式也没关系&#xff0c;其实就是有一个全局的键值对&#xff0c;类型是Map<String, DataSource>。当JDBC操作数据库之时&am…

boot项目:程序包xxxx.xxxx.xxx不存在

你们好&#xff0c;我是金金金。 idea2021版本&#xff0c;在maven项目中运行程序的时候会出现java程序包不存在现象。(属于它的一个小bug) 场景 启动boot项目时报错如下 解决 清理缓存 重新加载所有maven项目 重新启动项目即可 测试 已测试&#xff0c;项目成功启动~ 编写有误…

代码规范 —— Redis 开发规范

优质博文&#xff1a;IT-BLOG-CN 一、开发规范 【1】弱依赖检查与线下确认&#xff1a;Redis必须是弱依赖&#xff0c;即Redis宕机不影响业务。包括超时检查。 【2】是否当存储使用检查&#xff1a;Redis不能作为存储设备来使用&#xff0c;只能作为缓存或状态等场景来使用。…

【Mudo库】实战项目之简要介绍

文章目录 前言一、效果演示二、模块1. 介绍2. 服务器模块3. 应用层模块 尾序 前言 各位C友们&#xff0c;好久不见&#xff0c;最近一个月在搞项目&#xff0c;算是半摆半学的状态吧&#xff0c;博客断更了一段时间&#xff0c;现在项目搞完了&#xff0c;博客之后也会慢慢更新…

机器学习周报(8.12-8.18)

文章目录 摘要Abstract1.Transformer的结构1.1 序列到序列&#xff08;Seq2seq&#xff09;的模型1.2 Transformer 结构1.2.1 Transformer 编码器&#xff08;Encoder&#xff09;1.2.2 Transformer解码器&#xff08;Decoder&#xff09;1.2.3 编码器-解码器注意力&#xff08…

Java语言程序设计——篇十四(2)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 欢迎大家&#xff1a;这里是我的学习笔记、总结知识的地方&#xff0c;喜欢的话请三连&#xff0c;有问题可以私信&#x1f333;&#x1f333;&…

c++11(二)

一、右值引用 1、区分左值和右值 语法定义&#xff0c;左值可以取地址&#xff0c;右值无法取地址&#xff08;右值肯定有地址&#xff0c;但是为了和左值区分&#xff0c;语法上不让取地址&#xff09; 左值&#xff1a;一个表示数据的表达式&#xff08;变量名或解引用指针…

如何配置ESXI主机的IP地址管理

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f427;Linux基础知识(初学)&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; &#x1f510;Linux中firewalld防火墙&#xff1a;点击&#xff01; ⏰️创作…

通过python脚本查询自己阿里云账号里的某个域名的A记录解析情况,以及测拨,用于排查未使用的解析

安装sdk pip install aliyun-python-sdk-alidns代码全文 import json import requests from aliyunsdkcore.client import AcsClient from aliyunsdkalidns.request.v20150109 import DescribeDomainRecordsRequest# 替换为你的阿里云 AccessKey ID 和 AccessKey Secret acce…

栈与队列 - 逆波兰表达式求值

150. 逆波兰表达式求值 方法一&#xff1a;栈 /*** param {string[]} tokens* return {number}*/ var evalRPN function(tokens) {const stack [];for (const token of tokens) {if (isNaN(Number(token))) { // 非数字const n2 stack.pop(); // 出栈两个数字const n1 s…

假期作业--数据结构

1、顺序表实现学生管理系统&#xff08;参照顺序表技能&#xff09;写出菜单界面switch选择&#xff0c;功能1创建顺序表&#xff08;堆区&#xff09;&#xff0c;2录入学生信息&#xff0c;3插入一个学生信息&#xff0c;4删除一个学生信息&#xff0c;5按照位置修改一个学生…

javaEE中自定义注解以及注解的解析

注解&#xff1a; 就是java代码里的特殊标记&#xff0c;比如Override、Test,作用是&#xff1a;让其它程序根据注解信息来决定怎么执行程序。 自定义注解&#xff1a;自己定义注解 Public interface 注解名称{ Public 属性类型 属性名&#xff08;&#xff09; default 默认…

写字楼/办公室为什么要建设智慧公厕?有哪些价值?@卓振思众

智慧公厕是指利用先进技术和设备对公共厕所进行智能化管理的系统。这些技术包括物联网&#xff08;IoT&#xff09;、传感器技术、大数据分析和自动化系统等。【卓振思众】智慧公厕不仅提升了公厕的使用体验&#xff0c;还实现了更高效的管理和维护。 写字楼/办公室智慧公厕的定…

揭秘RAG与大模型对接:深入探讨9大隐藏挑战

前一段时间&#xff0c;各个大模型在争斗&#xff1a;谁能携带更长、更大的上下文 Prompt&#xff0c;比如 Kimi 说 200 万字&#xff0c;阿里通义千问又说自己能达 1000 万字&#xff1b;大家都知道 Prompt 很重要&#xff0c;但是 RAG 和 长的上下文文本携带 是两个不同的技术…

mac查看jdk安装目录

打开终端&#xff0c;直接输入命令&#xff1a; /usr/libexec/java_home终端即会输出jdk的安装目录&#xff1a;

8.17日学习打卡---Spring Cloud Alibaba(四)

8.17日学习打卡 目录&#xff1a; 8.17日学习打卡分布式流量防护什么是服务雪崩解决方案内部异常治理外部流量控制 SentinelSentinel 基本概念Sentinel 的主要特性Sentinel 是如何工作的Sentinel 与 Hystrix、resilience4j 的对比安装Sentinel控制台将应用接入Sentinel流量控制…