当前位置: 首页 > news >正文

《QT从基础到进阶·二十四》按钮组QButtonGroup,单选框QRadioButton和多选框QCheckBox

1、按钮组QButtonGroup
如果有多个单选按钮,可以统一放进一个按钮组。
在这里插入图片描述
图中有三个单选按钮放进了一个QGroupBox,并且设置了水平布局,现在要将这三个单选按钮放进一个按钮组,之前的想法是先把三个按钮加入按钮组,再把按钮组放进QGroupBox的水平布局里,但好像行不通,现在知道按钮组QButtonGroup不需要放进布局,直接把按钮放进按钮组,这样的话三个按钮既在QGroupBox的水平布局里,也在QButtonGroup按钮组里。

m_buttonGroup = new QButtonGroup(this);
m_buttonGroup->addButton(ui.radioButton, 2); //单选按钮放进按钮组,并设置按钮ID
m_buttonGroup->addButton(ui.radioButton_2, 1);
m_buttonGroup->addButton(ui.radioButton_3, 0);
connect(m_buttonGroup, SIGNAL(buttonClicked(int)), this, SLOT(onButtonClicked(int)));
m_buttonGroup->button(0)->setChecked(true); //设置按钮组第一个按钮高亮显示

2、单选框QRadioButton

ui.radioButton->toggled(false); //设置未选中,好像没用
ui.radioButton->isChecked(); //获取状态
ui.radioButton->setChecked(true); //设置当前单选按钮被选中

3、多选框QCheckBox

connect(ui.checkBox, SIGNAL(stateChanged(int)), this, SLOT(onClicked()));
void test7::onClicked()
{if (ui.checkBox->isChecked()){qDebug() << "已勾选" << endl;}else{qDebug() << "未勾选" << endl;
}
}
bool state = ui.checkBox.checkState();//获取当前复选框状态, PartiallyChecked状态为true
ui.checkBox->setChecked(bool); //设置复选框状态
ui.checkBox->setCheckedState(state); //state三种状态Checked, Unchecked, PartiallyCheckedui.checkBox->setTristate(); 

除了常用的选中和未选中两个状态, QCheckBox还可选地提供了第三种状态(半选)来表明“没有变化”。当需要给用户一个选中或者未选中复选框的选择时,这是很有用的。如果需要第三种状态,可以通过setTristate()来使它生效,并使用checkState()来查询当前的切换状态

checkbox有三种状态:Checked、Unchecked、PartiallyChecked(不确定的), checkbox的PartiallyChecked状态仅仅是视觉上的,实际只有前两种状态。

在这里插入图片描述

📢博客主页: 主页
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 梦回阑珊 原创,首发于 CSDN,转载注明出处🙉
📢代码改变世界,你来改变代码!✨

http://www.lryc.cn/news/229183.html

相关文章:

  • Ansible--playbook剧本
  • MacOS下VMware Fusion配置静态IP
  • 三、机器学习基础知识:Python常用机器学习库(中文文本分析相关库)
  • Nginx 使用笔记大全(唯一入口)
  • 数据结构-二叉排序树(建立、查找、修改)
  • Linux 性能优化之使用 Tuned 配置优化方案
  • Day02_《MySQL索引与性能优化》
  • (只需三步)Vmvare tools安装教程,实现与windows互通复制粘贴与文件拖拽
  • Android自定义控件:一款多特效的智能loadingView
  • C语言之初阶指针
  • MongoDB基础知识~
  • 41. 缺失的第一个正数
  • 数据结构—数组栈的实现
  • AI大模型低成本快速定制秘诀:RAG和向量数据库
  • Please No More Sigma(构造矩阵)
  • HTML设置标签栏的图标
  • 4.CentOS7安装MySQL5.7
  • 【华为OD题库-014】告警抑制-Java
  • 高频SQL50题(基础题)-5
  • Spring IoC DI 使⽤
  • Zigbee智能家居方案设计
  • 机器视觉目标检测 - opencv 深度学习 计算机竞赛
  • 无监督学习的集成方法:相似性矩阵的聚类
  • 16. 机器学习——决策树
  • DevOps系列---【jenkinsfile使用sshpass发送到另一台服务器】
  • Docker 和 Kubernetes:技术相同和不同之处
  • 通信世界扫盲基础二(原理部分)
  • 手机厂商参与“百模大战”,vivo发布蓝心大模型
  • 【微软技术栈】C#.NET 中的泛型
  • 【毕业论文】基于微信小程序的植物分类实践教学系统的设计与实现