我是Qt的新手,并创建了一个简单的用户界面,其中包含一个QGroupBox
和一堆QRadioButtons
(确切地说是32),我希望能够找到选定的一个。
我已经查看了论坛和事情,但我发现的答案不起作用,并且有一篇参考了QGroupBox
的非抗性方法的文档。
鉴于以下代码段,如何找到所选的QRadioButton
?
QGroupBox* thingGroup = ui->thingGroupBox;
答案 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());
}
}