``` QMainWindow::MyMainWindow(parent);```该如何修改代码才能避免 [Error] 'MyMainWindow' is not a member of 'QMainWindow'出现
时间: 2024-11-27 16:23:42 浏览: 8
`QMainWindow::MyMainWindow(parent)` 这段代码看起来像是试图从 `QMainWindow` 类中创建一个名为 `MyMainWindow` 的构造函数,但是出现了 "Error: 'MyMainWindow' is not a member of 'QMainWindow'" 错误,意味着 `QMainWindow` 类并没有 `MyMainWindow` 这个成员。
解决这个问题通常需要以下几个步骤:
1. **确认命名**:首先确保你是在 `QMainWindow` 类中定义了一个叫 `MyMainWindow` 的公共或者公有成员(如构造函数、槽函数或自定义类),例如如果你有一个自定义的子窗口类,它应该声明为 `QMainWindow` 的派生类,并提供这个构造函数。
```cpp
class MyWindow : public QMainWindow {
public:
explicit MyWindow(QWidget *parent = nullptr);
};
```
2. **正确继承**:如果 `MyMainWindow` 应该是一个独立的类而不是 `QMainWindow` 的直接成员,你应该将它作为 `QMainWindow` 的派生类。
```cpp
class MyMainWindow : public QMainWindow {
public:
explicit MyMainWindow(QWidget *parent = nullptr);
// ... 其他成员
};
```
然后在构造函数中实例化它:
```cpp
MyMainWindow myApp(parent);
```
3. **头文件包含**:确保你在使用 `MyMainWindow` 的地方包含了相应的头文件,比如 `my_window.h`。
```cpp
#include "my_window.h"
```
根据上述信息,你应检查你的类定义是否正确以及包含路径是否恰当。
阅读全文