【QT】在子窗體中控制父窗體 作者——歪悶

此文爲轉載文章,作者歪悶,原文網址【QT】在子窗體中控制父窗體

【背景說明】我的主窗體的名字叫做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; //刪除自身
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章