我正在将一个应用程序从Qt3移植到Qt4,需要一个Qt4替代QApplication :: mainWidget()的函数,该函数在Qt3中返回顶层窗口小部件。有人知道如何在Qt4中实现吗?
从技术上讲,使用 NULL 初始化的任何小部件都是顶层小部件,因此 QApplication 不应假定其中一个比另一个更好。
我通常的做法是在某个地方保存“真正”的主要小部件的指针,即使是全局变量或单例,并在需要时引用它。
我认为topLevelWidgets()是最接近的。
编辑:
是的,Qt4增加了复杂性(和功能)。不再有应用程序范围内的MainWidget。可以创建并显示、隐藏和再次显示许多QMainWindow。虽然如此却是一件好事 :) 正如shoosh所注意到的,QT3的行为可以很容易地通过全局变量(yuck!)或QApplication子类来模拟。