在Qt中,子窗口可以通过使用父窗口的指针来调用父窗口的方法。首先,在子窗口的类定义中添加一个指向父窗口的指针变量,并在构造函数中将其初始化为父窗口的指针。然后就可以使用这个指针来调用父窗口的方法。
例如,假设有一个父窗口类MainWindow和一个子窗口类SubWindow,可以在SubWindow类中添加如下代码:
class SubWindow : public QDialog
{
Q_OBJECT
public:
SubWindow(MainWindow *parent) : m_parent(parent) {}
void callParentMethod()
{
m_parent->parentMethod();
}
private:
MainWindow *m_parent;
};
然后在父窗口MainWindow类中实现parentMethod()方法:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
void parentMethod()
{
// 父窗口的方法实现
}
private:
SubWindow *m_subWindow;
};
在父窗口中创建子窗口的实例时,将父窗口的指针传递给子窗口:
m_subWindow = new SubWindow(this);
然后就可以在子窗口中调用父窗口的方法:
m_parent->parentMethod();