Qt 5 QGroupBox找到所选单选按钮

时间:2017-03-30 01:06:48

标签: c++ qt qt5 qradiobutton qgroupbox

我是Qt的新手,并创建了一个简单的用户界面,其中包含一个QGroupBox和一堆QRadioButtons(确切地说是32),我希望能够找到选定的一个。

我已经查看了论坛和事情,但我发现的答案不起作用,并且有一篇参考了QGroupBox的非抗性方法的文档。

鉴于以下代码段,如何找到所选的QRadioButton

QGroupBox* thingGroup = ui->thingGroupBox;

1 个答案:

答案 0 :(得分:1)

如果你想在选择其中一个时获得它,你可以使用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());
    }

}