QRadioButton基础

本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QRadioButton的功能以及使用

简介

根据QT的官方帮助文档中的形容,QRadioButton是一个用来表示"One of many"的按钮,也就是单选按钮即在一堆按钮之间只能选择一个,如果你点击了几个中的另外一个,之前那个被选中的就会取消选中。
QRadioButtonQPushButton一样,都是有文字和图标的。

autoExclusive

QRaidoButton默认是autoExclusive的,如果你要改变这个属性,调用setAutoExclusive这个函数来设置。这个属性代表如果几个QRadioButton是同一个父窗口的话,那么你只能在几个按钮里面选择一个;

如果要让多个QRadioButton能够选择多个,你有如下几种方法:

  1. 最简单直接办法就是把这几个QRadioButton放在不同的Widget里

  2. 调用setAutoExclusive,将这个属性设置成false

    ui->radioButton->setAutoExclusive(false);

  3. 将按钮分组的放在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的更多相关文章

  1. 基于C/S架构的3D对战网络游戏C++框架 _04客户端详细设计与OpenGL、Qt基础

    本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...

  2. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  3. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

  4. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  5. day33-线程基础03

    线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daem ...

  6. C/C++ Qt 基础通用组件应用

    QT 是一个跨平台C++图形界面开发库,利用QT可以快速开发跨平台窗体应用程序,在QT中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率. 目前,QT开发中常用的基础 ...

  7. [Qt基础内容-08] Qt中MVC的M(Model)

    Qt中MVC的M(Model)简单介绍 Qt有自己的MVC框架,分别是model(模型).view(视图).delegate(委托),这篇文章,简单的介绍以下Qt中有关model(模型)的类以及一些基 ...

  8. C++ Qt基础知识

    时间如流水,只能流去不流回. 学历代表你的过去,能力代表你的现在,学习能力代表你的将来. 学无止境,精益求精. 记录C++ Qt的基础知识学习记录 <C++ Qt设计模式(第二版)>

  9. qt基础知识之类库概述

    qt是用标准c++编写的跨平台开发类库,它对标准c++进行拓展,引入元对象系统.信号&槽.属性等特征 全局定义 容器类及对应迭代器 qt的模块化体系,分为 基本模块和拓展模块,一个模块通常就是 ...

  10. Java基础|03.基础语法(2)

    Java安全|03.Java基础语法(2) 00x1 单例模式 定义: 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一 ...

随机推荐

  1. Spirng Data JPA 之Specification中and、or的使用

    项目中,有的地方存值以逗号分隔的方式来存储,但查询的时候是需要满足单个值或者多个值条件查询,因此用到Specification中and.or组合使用,此文用来记录,以防后用. 描述:parentCod ...

  2. maven打jar包运行main方法

    pom文件添加上这段 <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</ ...

  3. Sqlsugar 跨库查询小心得(同服务器不同数据库)

    同一个服务器下的不同数据库,目前还没有进行跨服务器的查询,以后有待研究-- 1.使用的是Left Join左查询,因此连接字符串应该是写的第一个表所在的数据库的连接字符串 假设数据库A,B,连接字符串 ...

  4. new idea

    如何我希望将url链接作为大语言模型的输入,同时通过大模型的能力来学习与认识url网页链接中的文本.图片.语音等元素,应该怎么做? 要将URL链接作为输入来学习与识别URL中的文本.图片.语音等元素, ...

  5. 20. C++快速入门--并发基础

    参考:<Professional c++>,<并发编程实战> 1 基本概念 1.1 竞争 原子性 "原子"(atomic)操作是指一种不可分割的操作, 即在 ...

  6. 前端学习openLayers配合vue3(简单的创建一个地图)

    首先搭建一个vue工程化环境,首先我们先来创建一个地图吧 首先我们需要下载 npm i ol 其次我们需要在main.js里面引入相关的css import 'ol/ol.css' 到现在我们就可以开 ...

  7. KES(KingBaseES)集群部署实战

    今天我们将探讨关于KES(KingBaseES)的集群部署方案.作为示例,我们将以读写分离(RWC)集群为例,快速在本地进行部署和安装,并深入了解KES的部署流程.在本章中,我们将采用Windows平 ...

  8. CDS标准视图:维护计划 I_MaintenancePlanBasic

    视图名称:维护计划 I_MaintenancePlanBasic 视图类型:基础 视图代码: 点击查看代码 @AbapCatalog.compiler.compareFilter: true @Aba ...

  9. Excel函数公式大全(图文详解)

    ---------------------------- ----------------------------------------------------------------------- ...

  10. 在日常工作和生活中使用Linux-开篇

    前言 欢迎来到<在日常工作和生活中使用Linux>的系列分享.在这个系列中,我们将探讨为什么选择Linux,以及如何在日常工作和生活中高效地使用它.无论你是刚刚接触Linux的新手,还是希 ...