在QT中我们可以通过topLevelWidget()函数获取顶级窗口指针,但是获取到的顶级窗口指针并不是该窗口创建的时候的使用的顶级窗口指针,语句如下:
MainWindow* parentWidget1 = (MainWindow*)topLevelWidget();
但是通过调试发现parentWidget1 值与创建该窗口时使用的顶级窗口指针不同,通过查阅资料获取到一种可以准确获取顶级窗口指针的办法,语句如下:
MainWindow* parentWidget1 = qobject_cast<MainWindow*>(topLevelWidget());
不知道这两种方法有什么区别,还有一个问题是使用qobject_cast<MainWindow*>(parentWidget())不能获取到父窗口指针,具体原因未知,解决办法也没有,如果有知道的同仁,烦请留言告知。