qtc++界面a作为界面c的子界面的子界面,如何通过获取已经打开的主界面c的指针,将这个指针作为参数传递给子界面a。头文件和源文件代码示例
时间: 2024-05-08 08:21:50 浏览: 76
假设您已经有了主界面 `c` 和子界面 `a`,您可以按照以下步骤将主界面 `c` 的指针传递给子界面 `a`:
1. 在子界面 `a` 的头文件中添加主界面 `c` 的指针成员变量,例如:
```c++
class SubWidget : public QWidget
{
Q_OBJECT
public:
explicit SubWidget(QWidget *parent = nullptr);
private:
QWidget *m_parentWidget;
};
```
2. 在子界面 `a` 的构造函数中,将主界面 `c` 的指针参数传递给子界面 `a`,并将其保存在成员变量中,例如:
```c++
SubWidget::SubWidget(QWidget *parent) :
QWidget(parent),
m_parentWidget(parent)
{
// ...
}
```
3. 在主界面 `c` 中打开子界面 `a` 时,将主界面 `c` 的指针传递给子界面 `a`,例如:
```c++
void MainWindow::openSubWidget()
{
SubWidget *widget = new SubWidget(this);
widget->show();
}
```
在这个例子中,`this` 是指向主界面 `c` 的指针。
这样,您就可以在子界面 `a` 中使用主界面 `c` 的指针了。例如,您可以调用主界面 `c` 的公共函数或访问其成员变量。
阅读全文