Qt 中 QButtonGroup 使用总结

本文介绍了如何使用QButtonGroup在Qt中管理QRadioButton控件,通过添加按钮并设置编号实现统一管理。讲解了如何通过编号访问和改变按钮状态,以及获取分组的选择结果。同时,详细阐述了QButtonGroup的Toggled和Clicked信号响应,展示了如何连接信号槽来监听按钮状态变化和点击事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

使用 QButtonGroup 可以把一组 QRadioButton 控件进行统一管理,不要挨个设置信号槽的连接。

除了可以添加 QRadioButton 对象,也可以添加其他按钮, 如可以添加 QheckBox 以设置为单选的效果。

使用分组

①.概述

通过 QButtonGroup 的成员函数 addButton 可以添加 QRadioButton 对象,并指定其编号。

QButtonGroup * group = new QButtonGroup(this);
group->addButton(ui.radioButton, 0);
group->addButton(ui.radioButton_2, 1);
group->addButton(ui.radioButton_3, 2);
group->addButton(ui.radioButton_4, 3);

在这里插入图片描述

②.通过编号访问

group->button(1)->setChecked(true);

在这里插入图片描述

③.获取分组的选择结果

group->button(1)->setChecked(true);

qDebug() << "当前选择的编号 " << group->checkedId();

在这里插入图片描述

信号响应

①.Toggled 信号

connect(group, static_cast<void(QButtonGroup::*)(int, bool)>(&QButtonGroup::buttonToggled), [&](int index, bool checked) {
    qDebug() << "编号为 " << index << "选择状态变更为 " << checked;
});

在这里插入图片描述

②.Clicked 信号

connect(group, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), [&](int index) {
    qDebug() << "单击编号为 " << index  ;
});

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值