[Qt 基础-03] QRadioButton
QRadioButton基础
本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QRadioButton的功能以及使用
简介
根据QT的官方帮助文档中的形容,QRadioButton是一个用来表示"One of many"的按钮,也就是单选按钮即在一堆按钮之间只能选择一个,如果你点击了几个中的另外一个,之前那个被选中的就会取消选中。
QRadioButton和QPushButton一样,都是有文字和图标的。

autoExclusive
QRaidoButton默认是autoExclusive的,如果你要改变这个属性,调用setAutoExclusive这个函数来设置。这个属性代表如果几个QRadioButton是同一个父窗口的话,那么你只能在几个按钮里面选择一个;
如果要让多个QRadioButton能够选择多个,你有如下几种方法:
最简单直接办法就是把这几个QRadioButton放在不同的Widget里

调用setAutoExclusive,将这个属性设置成false
ui->radioButton->setAutoExclusive(false);

将按钮分组的放在QButtonGroup中
#include <QButtonGroup> QButtonGroup m_butonGroup;
QButtonGroup m_buttonGroup_2; m_group.addButton(ui->radioButton); m_group_2.addButton(ui->radioButton_2);
m_group_2.addButton(ui->radioButton_3);

信号和槽
你可以连接槽函数toggled(bool checked)或者clicked(bool checked)这两个函数,来在radioButton状态改变时,进行对应的操作;
这个toggled信号,会在按钮的状态改变时触发,比如说鼠标点击按钮的时候会触发、setChecked也会触发,而clicked这个信号,就只会在鼠标点击按钮的时候才会触发。
样式的设计
这个按钮和其他的按钮的样式基本一样,差别在于,如果你想要设置QRadioButton的小圆圈部分的话,你需要这样:
QRadioButton
{
/*正常的样式*/
}
QRadioButton:indicator
{
/*这里就是旁边的小圆圈的部分样式*/
}
[Qt 基础-03] QRadioButton的更多相关文章
- 基于C/S架构的3D对战网络游戏C++框架_04客户端详细设计与OpenGL、Qt基础
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
- javaSE基础03
javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...
- javascript基础03
javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...
- 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结
086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...
- day33-线程基础03
线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daem ...
- C/C++ Qt 基础通用组件应用
QT 是一个跨平台C++图形界面开发库,利用QT可以快速开发跨平台窗体应用程序,在QT中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率. 目前,QT开发中常用的基础 ...
- [Qt基础内容-08] Qt中MVC的M(Model)
Qt中MVC的M(Model)简单介绍 Qt有自己的MVC框架,分别是model(模型).view(视图).delegate(委托),这篇文章,简单的介绍以下Qt中有关model(模型)的类以及一些基 ...
- C++ Qt基础知识
时间如流水,只能流去不流回. 学历代表你的过去,能力代表你的现在,学习能力代表你的将来. 学无止境,精益求精. 记录C++ Qt的基础知识学习记录 <C++ Qt设计模式(第二版)>
- qt基础知识之类库概述
qt是用标准c++编写的跨平台开发类库,它对标准c++进行拓展,引入元对象系统.信号&槽.属性等特征 全局定义 容器类及对应迭代器 qt的模块化体系,分为 基本模块和拓展模块,一个模块通常就是 ...
- Java基础|03.基础语法(2)
Java安全|03.Java基础语法(2) 00x1 单例模式 定义: 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一 ...
随机推荐
- unsupported message type: DefaultFullHttpResponse (expected: ByteBuf, FileRegion) 原因以及解决办法
使用netty做http服务器的时候 用android链接 会出现这个错误 原因是http-aggregator顺序有问题 (ps:目前大部分国内博客都是这个排序有点坑爹): 官方文档说明:For c ...
- Qt编写地图综合应用52-加载离线地图
一.前言 离线地图的加载其实和在线地图的加载方法几乎一样,唯一的最大区别就是,之前可能一个js文件引入即可,现在需要多个本地的js文件引入,而且网上流传的js文件的版本比较旧,意味着现在新版的支持op ...
- Windows应用开发-常用工具集推荐
.NET/WPF开发 Visual Studio 最新版本是VS2022,官网下载:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 VsColorOutput 控制台 ...
- 让我看看有多少人不知道Vue3中也能实现高阶组件HOC
前言 高阶组件HOC在React社区是非常常见的概念,但是在Vue社区中却是很少人使用.主要原因有两个:1.Vue中一般都是使用SFC,实现HOC比较困难.2.HOC能够实现的东西,在Vue2时代mi ...
- Linux USB 文件读写性能测试
USB 端口读写性能测试:========================================================读测试:sync && echo 3 > ...
- 树莓派Zero OLED屏幕转接板
买了个树莓派Zero,emmm,拿到手后感觉很精巧,但是总是感觉少了什么.于是... 瞎吹一波:不得不说嘉立创公司确实给力,一条龙服务而且价格太便宜了. 焊接组装上机测试,OK! 其实这个过程中坑也踩 ...
- (二).NET6.0使用Filter过滤器
1.创建一个webapi方法 2.创建过滤器,继承自Attribute, IAsyncActionFilter 不存在需要先手动引用有关的包:Microsoft.AspNetCore.Mvc 继承 A ...
- 多云架构,JuiceFS 如何实现一致性与低延迟的数据分发
随着大模型的普及,GPU 算力成为稀缺资源,单一数据中心或云区域的 GPU 资源常常难以满足用户的全面需求.同时,跨地域团队的协作需求也推动了企业在不同云平台之间调度数据和计算任务.多云架构正逐渐成为 ...
- 前端(二)-CSS
1.样式 1.1 行内样式 <h1 style="color:red;">行内样式</h1> 1.2 内部样式 CSS代码写在 <head> 的 ...
- LaVita pg walkthrough Intermediate
nmap └─# nmap -p- -A 192.168.159.38 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-01 00:21 U ...