QT獲取頂級窗口指針並不是準確的頂級窗口指針解決辦法

在QT中我們可以通過topLevelWidget()函數獲取頂級窗口指針,但是獲取到的頂級窗口指針並不是該窗口創建的時候的使用的頂級窗口指針,語句如下:

MainWindow* parentWidget1 = (MainWindow*)topLevelWidget();

但是通過調試發現parentWidget1 值與創建該窗口時使用的頂級窗口指針不同,通過查閱資料獲取到一種可以準確獲取頂級窗口指針的辦法,語句如下:

MainWindow* parentWidget1 = qobject_cast<MainWindow*>(topLevelWidget());

不知道這兩種方法有什麼區別,還有一個問題是使用qobject_cast<MainWindow*>(parentWidget())不能獲取到父窗口指針,具體原因未知,解決辦法也沒有,如果有知道的同仁,煩請留言告知。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章