我有一個名爲MainWindow的Qt設計器類,它是一個QMainWindow。該課程創建一個MDI區域,並具有子窗口,正如MDI應該那樣。Qt/C++:讓MDI子項調用其父項的函數?
其中一個MDI子元素,我們將調用也是QMainWindow的wndChild,需要產生一個「兄弟」(即,它的父代的MDI子代,而不是它自己的MDI子代)。我想最好的辦法是在父(MainWindow)中創建一個公共函數,然後創建一個新的MDI子。
問題是,我不知道如何從孩子調用這個函數。我想是這樣的:
MainWindow *mdiparent=this->parentWidget();
mdiparent->spawnOtherChild();
不過的QMainWindow :: parentWidget返回一個指向一個QWidget,而不是一個QMainWindow的,所以當然我得到一個錯誤。
我該如何去做這件事?
感謝您的支持。不幸的是,有人向我指出,mdiArea是這個窗口的父類,而不是像MainWindow * mdiparent = qobject_cast(this-> parentWidget() - > parentWidget());我只是要存儲一個指向主窗口的指針。謝謝! –
Joseph
2010-11-09 03:43:09