C++ 我是否需要逐个检查以了解Qt中的组中检查了哪个单选按钮
我知道我可以使用这种代码来知道在Qt中选中了哪个单选按钮:C++ 我是否需要逐个检查以了解Qt中的组中检查了哪个单选按钮,c++,qt,radio-button,C++,Qt,Radio Button,我知道我可以使用这种代码来知道在Qt中选中了哪个单选按钮: int checkButton; if( ui->radioButton_0->isChecked() ){ checkButton = 0; }else if(ui->radioButton_1->isChecked()){ checkButton = 1; }else if ... 有没有更简单的方法来知道Qt中的组中选中了哪个单选按钮。我认为,当单选按钮组很大时,如果有这样一种更简单的方
int checkButton;
if( ui->radioButton_0->isChecked() ){
checkButton = 0;
}else if(ui->radioButton_1->isChecked()){
checkButton = 1;
}else if
...
有没有更简单的方法来知道Qt中的组中选中了哪个单选按钮。我认为,当单选按钮组很大时,如果有这样一种更简单的方法,那真的很有帮助。代码可能如下所示:
int checkbutton = groupName.getCheckButtonIngroup();
首先,您需要将所有单选按钮添加到按钮组。有两种方法可以做到这一点:
分配给按钮组
QButtonGroup::addButton
在那里添加按钮QButtonGroup::checkedButton
addButton(QAbstractButton*button,int-id)
手动将按钮添加到组中。在此之后,使用QButtonGroup::checkedd
获取选中按钮的标识符此外,我们还可以在Qt Designer的groupbox中放置一些单选按钮,然后查找groupbox的子项,将子项添加到buttonGroup,并使用checkedId或checkedButton方法
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();
}
void主窗口::点击按钮按钮按钮按钮按钮按钮按钮()
{
QButtonGroup组;
QList allButtons=ui->groupBox->findChildren();
qDebug()QButtonGroup
有一个函数buttons()
,它返回属于它的所有按钮的列表。你不能在该列表上循环吗?参考:另外,如果你只想要选中的按钮,这里有: