您好,要获取QGroupBox中的单选状态,可以使用QButtonGroup类和QGroupBox的checkedId()
方法。以下是示例代码:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建窗口和布局
QWidget window;
QVBoxLayout layout(&window);
QGroupBox groupBox("Choose an option:");
layout.addWidget(&groupBox);
// 创建单选按钮并添加到组框中
QRadioButton radio1("Option 1");
QRadioButton radio2("Option 2");
QRadioButton radio3("Option 3");
QButtonGroup group;
group.addButton(&radio1, 1);
group.addButton(&radio2, 2);
group.addButton(&radio3, 3);
QVBoxLayout boxLayout(&groupBox);
boxLayout.addWidget(&radio1);
boxLayout.addWidget(&radio2);
boxLayout.addWidget(&radio3);
// 获取选中的单选按钮ID
int checkedId = group.checkedId();
if (checkedId == -1) {
qDebug() << "No option selected.";
} else {
qDebug() << "Selected option ID: " << checkedId;
}
window.show();
return app.exec();
}
在上面的代码中,我们首先创建一个QVBoxLayout布局,并将QGroupBox添加到其中。然后,我们创建三个QRadioButton对象并将它们添加到QButtonGroup对象中,并将它们添加到QGroupBox内部的垂直布局中。
最后,我们使用checkedId()
方法获取当前选定的单选按钮的ID值(即对应于其addButton()
调用时传递的第二个参数)。如果没有选择任何选项,则返回-1。
希望这可以帮助回答您的问题!