QGroupBox 找到选定的单选按钮

Tob*_*sta 6 c++ qt qt5 qradiobutton qgroupbox

我创建了一个简单的 UI,其中包含QGroupBox一堆QRadioButtons(确切地说是 32 个),我希望能够找到所选的一个。

我查看了论坛和其他东西,但我找到的答案不起作用,并且一个参考文档涉及一种不存在的QGroupBox.

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

QGroupBox* thingGroup = ui->thingGroupBox;
Run Code Online (Sandbox Code Playgroud)

eyl*_*esc 5

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

*。H

public slots:
    void onToggled(bool checked);
Run Code Online (Sandbox Code Playgroud)

*.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);
}
Run Code Online (Sandbox Code Playgroud)

投币口:

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

}
Run Code Online (Sandbox Code Playgroud)