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

qt QRadioButton详解

QRadioButton 是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选按钮通常呈现给用户一个“多选一”的选择,即在一组单选按钮中,一次只能选中一个按钮。

重要方法

  • QRadioButton(QWidget* parent = nullptr):默认构造函数。
  • QRadioButton(const QString& text, QWidget* parent = nullptr):使用指定的文本创建单选按钮。
  • void setText(const QString& text):设置单选按钮显示的文本。
  • void setChecked(bool checked):设置单选按钮的选中状态,true为选中,false为未选中。
  • bool isChecked() const:返回单选按钮的选中状态,如果选中则返回true,否则返回false。
  • void setIcon(const QIcon& icon):设置单选按钮显示的图标。
  • void setShortcut(const QKeySequence& shortcut):设置单选按钮的快捷键。

重要信号

  • toggled(bool checked):当单选按钮切换选中状态时发射,参数为是否选中。
  • clicked(bool checked):当单选按钮被点击时发射,参数为是否选中。
#include <QApplication>  
#include <QWidget>  
#include <QHBoxLayout>  
#include <QRadioButton>  
#include <QButtonGroup>  
  
int main(int argc, char *argv[]) {  
    QApplication app(argc, argv);  
  
    // 创建主窗口  
    QWidget window;  
    window.setWindowTitle("RadioButton 示例");  
  
    // 创建水平布局  
    QHBoxLayout* layout = new QHBoxLayout(&window);  
  
    // 创建按钮组  
    QButtonGroup* buttonGroup = new QButtonGroup(&window);  
  
    // 创建三个单选按钮  
    QRadioButton* radioBtn1 = new QRadioButton("选项1");  
    QRadioButton* radioBtn2 = new QRadioButton("选项2");  
    QRadioButton* radioBtn3 = new QRadioButton("选项3");  
  
    // 默认设置第一个单选按钮选中  
    radioBtn1->setChecked(true);  
  
    // 将单选按钮添加到按钮组中  
    buttonGroup->addButton(radioBtn1);  
    buttonGroup->addButton(radioBtn2);  
    buttonGroup->addButton(radioBtn3);  
  
    // 将按钮组的 exclusive 属性设置为 true, 确保只能选中一个选项  
    buttonGroup->setExclusive(true);  
  
    // 将单选按钮添加到布局中  
    layout->addWidget(radioBtn1);  
    layout->addWidget(radioBtn2);  
    layout->addWidget(radioBtn3);  
  
    // 设置主窗口的布局  
    window.setLayout(layout);  
  
    // 显示主窗口  
    window.show();  
  
    return app.exec();  
}

觉得有帮助的话,打赏一下呗。。

           


http://www.kler.cn/a/375040.html

相关文章:

  • gitlab克隆仓库报错fatal: unable to access ‘仓库地址xxxxxxxx‘
  • 在 CentOS 8 系统上安装 Jenkins 的全过程
  • (echarts)数据地图散点类型根据条件设置不同的标记图片
  • 【AIGC-ChatGPT进阶副业提示词】星际占卜师:探索星象能量的艺术【限时免费阅读,一天之后自动进入进阶课程】
  • 【解决报错】AttributeError: ‘NoneType‘ object has no attribute ‘group‘
  • 圣诞节文化交流会在洛杉矶成功举办
  • 人工智能:改变未来生活与工作的无尽可能
  • 汽车免拆诊断案例 | 2010款起亚赛拉图车发动机转速表指针不动
  • Doris集群搭建
  • 服务器被攻击黑洞后如何自救
  • Debian下载ISO镜像的方法
  • yum不能使用: cannot find a valid baseurl for repo: base/7/x86_64
  • ASP.NET创建网站(一):创建新项目login页面设计
  • Gradio DataFrame分页功能详解:从入门到实战
  • 你的网站需要防护吗?
  • linux使用jar包部署solr
  • Partition架构
  • CentOS9 Stream 设置禁用IPV6
  • CSP-J复赛集训200-300分(19): [2024 CSP-J 复赛] T3:小木棍
  • 2024 年河南省高等职业教育技能大赛实施方案概述
  • 开源协议类型及长安链开源协议介绍
  • Matlab自学笔记四十:日期时间型数据的关系运算:比较大小、比较时间先后、判断是否在两个时间之间
  • 大数据-199 数据挖掘 机器学习理论 - 决策树 模型 决策与条件 香农熵计算
  • [CSP篇] CSP2024 游记(下)
  • 智能码二维码zhinengma.cn如何赋能工业产品质量安全追溯
  • uniapp和vite项目配置多环境编译,增加测试环境变量配置--mode test