我有四个单选按钮,用户必须从四个单选按钮中选择一个。
问题是每个单选按钮都有自己的名称与另一个不同。
如何找出用户选择的单选按钮?
答案 0 :(得分:6)
将按钮添加到GroupBox
并使用findChildren
,之后您可以使用QButtonGroup
或只是遍历所有按钮列表并检查radiobutton
的名称。它是有效的方式,因为它适用于4按钮或1000,如果你有很多按钮,你应该写大代码。
void MainWindow::on_pushButton_15_clicked(){
QButtonGroup group;
QList<QRadioButton *> allButtons = ui->groupBox->findChildren<QRadioButton *>();
qDebug() <<allButtons.size();
for(int i = 0; i < allButtons.size(); ++i)
{
group.addButton(allButtons[i],i);
}
qDebug() << group.checkedId();
qDebug() << group.checkedButton();
}
答案 1 :(得分:1)
您可以使用&#39; isChecked()&#39;命令所有qt按钮支持,并检查每个单选按钮。或者,您可以将功能连接到&#39;切换(bool isChecked)&#39;信号,并使用它来更新指示检查四个单选按钮中的哪一个的值。
答案 2 :(得分:0)
四个ID的数值应该是连续的。鉴于此,调用GetCheckedRadioButton来确定选择了哪一个。