在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();