dialog.cpp:26:37: error: allocation of incomplete type 'QButtonGroup' qabstractbutton.h:53:7: note: forward declaration of 'QButtonGroup'
时间: 2024-02-07 10:04:01 浏览: 207
这个错误通常是由于没有包含 QButtonGroup 的头文件而导致的。请确保在代码中包含了 QButtonGroup 的头文件,例如:
```cpp
#include <QDialog>
#include <QVBoxLayout>
#include <QRadioButton>
#include <QButtonGroup> // 包含 QButtonGroup 的头文件
class MyDialog : public QDialog
{
public:
MyDialog(QWidget *parent = nullptr) : QDialog(parent)
{
QRadioButton *radioButton1 = new QRadioButton("选项 1");
QRadioButton *radioButton2 = new QRadioButton("选项 2");
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(radioButton1);
layout->addWidget(radioButton2);
QButtonGroup *buttonGroup = new QButtonGroup;
buttonGroup->addButton(radioButton1);
buttonGroup->addButton(radioButton2);
connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked), [=](int id) {
if (id == radioButton1->id()) {
// 用户选择了选项 1
} else if (id == radioButton2->id()) {
// 用户选择了选项 2
}
});
setLayout(layout);
}
};
```
如果还是出现这个错误,可能是因为您的 Qt 版本太旧,建议升级到最新版本。
阅读全文