可以通过QButtonGroup类的checkedId()函数来判断是否有单选按钮被选中。如果返回-1,则表示没有任何一个单选按钮被选中。
示例代码:
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QRadioButton>
#include <QButtonGroup>
#include <QPushButton>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget widget;
QVBoxLayout layout(&widget);
QButtonGroup buttonGroup;
// 创建3个单选按钮
QRadioButton radioButton1("Option 1");
QRadioButton radioButton2("Option 2");
QRadioButton radioButton3("Option 3");
// 将单选按钮添加到布局和按钮组中
layout.addWidget(&radioButton1);
layout.addWidget(&radioButton2);
layout.addWidget(&radioButton3);
buttonGroup.addButton(&radioButton1);
buttonGroup.addButton(&radioButton2);
buttonGroup.addButton(&radioButton3);
QPushButton submitButton("Submit");
QObject::connect(&submitButton, &QPushButton::clicked, [&]() {
if(buttonGroup.checkedId() == -1) {
qDebug() << "No option selected";
} else {
qDebug() << "Option" << buttonGroup.checkedId() + 1 << "selected";
}
});
layout.addWidget(&submitButton);
widget.show();
return a.exec();
}
在这个示例代码中,我们创建了3个单选按钮并将它们添加到布局和按钮组中。然后,当点击“提交”按钮时,我们使用checkedId()函数来检查是否有单选按钮被选中,并输出相应的信息。