【背景說明】我的主窗體的名字叫做MainWindow,其子窗口是一個叫subDialog的類。我現在想做的是在子窗口的函數中調用父窗口。
在父窗口中打開子窗口
//彈出對話框確定變換的參數 subDialog *dialog = new subDialog(this);//這個地方this非常重要 dialog->setModal(true); dialog->show();
在上面的代碼當中,通過this把父窗口的指針傳到了子窗口當中,因此在子窗口中可以使用這個傳遞的指針控制父窗口做一些事情。
子窗口中的操作:
MainWindow *ptr = (MainWindow*)parentWidget();//這句話非常重要,將獲取的父窗體的指針拿來使用 ptr->test();//已經成功轉到主對話框的test函數中去了 parentWidget()->show(); //顯示父窗體 delete this; //刪除自身