4

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

我查看了论坛和其他东西,但我发现的答案不起作用,并且一个参考文档关于不存在的QGroupBox.

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

QGroupBox* thingGroup = ui->thingGroupBox;
4

1 回答 1

4

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

}
于 2017-03-30T03:17:03.730 回答