繁体   English   中英

QGroupBox 找到选中的单选按钮

[英]QGroupBox find selected Radio Button

我创建了一个简单的 UI,由一个QGroupBox和一堆QRadioButtons (准确地说是 32 个)组成,我希望能够找到所选的一个。

我查看了论坛和其他东西,但是我找到的答案不起作用,并且参考了一个关于QGroupBox不存在方法的文档。

鉴于以下代码段,我将如何找到选定的QRadioButton (如果有)?

QGroupBox* thingGroup = ui->thingGroupBox;

如果您想在选择其中之一时获取它,您可以使用 toogled 信号,将其连接到某个插槽并使用 sender () 函数并将其转换为 QRadioButton。

*。H

public slots:
    void onToggled(bool checked);

*.cpp

QGroupBox *thingGroup = ui->groupBox;

QVBoxLayout *lay = new QVBoxLayout;

thingGroup->setLayout(lay);

for(int i = 0; i < 32; i++){
    QRadioButton *radioButton = new QRadioButton(QString::number(i));
    lay->addWidget(radioButton);
    connect(radioButton, &QRadioButton::toggled, this, &{your Class}::onToggled);
}

投币口:

void {your Class}::onToggled(bool checked)
{
    if(checked){
        //btn is Checked
        QRadioButton *btn = static_cast<QRadioButton *>(sender());
    }

}

我想更容易识别使用QButtonGroup检查哪个按钮,只需记住在“设计模式”中选择按钮,然后右键单击并选择assign to button group

在此处输入图像描述

要识别选中按钮,可以使用 QButtonGroup 的checkedButton方法:

QAbstractButton *button = ui->buttonGroup->checkedButton();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM