如何找出用户选择的单选按钮

时间:2014-10-11 22:35:53

标签: c++ qt radio-button qt5

我有四个单选按钮,用户必须从四个单选按钮中选择一个。

问题是每个单选按钮都有自己的名称与另一个不同。

如何找出用户选择的单选按钮?

3 个答案:

答案 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来确定选择了哪一个。