在QT中我們可以通過topLevelWidget()函數獲取頂級窗口指針,但是獲取到的頂級窗口指針並不是該窗口創建的時候的使用的頂級窗口指針,語句如下:
MainWindow* parentWidget1 = (MainWindow*)topLevelWidget();
但是通過調試發現parentWidget1 值與創建該窗口時使用的頂級窗口指針不同,通過查閱資料獲取到一種可以準確獲取頂級窗口指針的辦法,語句如下:
MainWindow* parentWidget1 = qobject_cast<MainWindow*>(topLevelWidget());
不知道這兩種方法有什麼區別,還有一個問題是使用qobject_cast<MainWindow*>(parentWidget())不能獲取到父窗口指針,具體原因未知,解決辦法也沒有,如果有知道的同仁,煩請留言告知。