QT将子窗口对象存储在类成员变量中
时间: 2024-05-06 13:18:48 浏览: 87
在Qt中,通常将子窗口对象存储在类成员变量中以便在需要时可以方便地访问它们。
首先,在类的头文件中声明一个私有成员变量来存储子窗口对象:
```cpp
private:
MyChildWindow *m_childWindow;
```
然后,在类的构造函数中创建子窗口对象并将其存储在该成员变量中:
```cpp
MyMainWindow::MyMainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 创建子窗口对象
m_childWindow = new MyChildWindow(this);
// 设置子窗口的属性
m_childWindow->setWindowTitle(tr("Child Window"));
m_childWindow->setMinimumSize(200, 200);
// 将子窗口添加到主窗口中
setCentralWidget(m_childWindow);
}
```
现在,您可以在类的任何方法中访问该成员变量以调用子窗口对象的方法或属性:
```cpp
void MyMainWindow::doSomething()
{
// 调用子窗口对象的方法
m_childWindow->doSomething();
}
```
请注意,在这个例子中,我们将子窗口对象设置为主窗口的中央部件,这意味着它将占据主窗口的大部分空间。如果您想要将子窗口作为菜单、工具栏或其他部件的一部分显示,则需要将其添加到该部件中。
阅读全文