C++ QWidget*QApplication::mainWidget()在Qt4中变成了什么?

C++ QWidget*QApplication::mainWidget()在Qt4中变成了什么?,c++,qt4,C++,Qt4,我正在将一个应用程序从Qt3移植到Qt4,需要用Qt4替换QApplication::mainWidget(),它用于返回Qt3中的顶级小部件。有人知道如何在Qt4中做到这一点吗?我认为这是最接近的 编辑: 是的。Qt4增加了复杂性(和威力)。没有应用程序范围的MainWidget了。可以创建、显示、隐藏和再次显示许多QMainWindows。不过,这是件好事:) 正如shoosh所注意到的,QT3行为可以很容易地用全局变量(恶心!)或QApplication子类来模拟 从技术上讲,任何用NUL

我正在将一个应用程序从Qt3移植到Qt4,需要用Qt4替换QApplication::mainWidget(),它用于返回Qt3中的顶级小部件。有人知道如何在Qt4中做到这一点吗?

我认为这是最接近的

编辑:

是的。Qt4增加了复杂性(和威力)。没有应用程序范围的MainWidget了。可以创建、显示、隐藏和再次显示许多QMainWindows。不过,这是件好事:)
正如shoosh所注意到的,QT3行为可以很容易地用全局变量(恶心!)或QApplication子类来模拟

从技术上讲,任何用NULL初始化的小部件都是顶级小部件,因此QApplication不应认为其中一个优于另一个。

我通常的做法是将指向“真实”主小部件的指针保存在某个地方,甚至是一个全局变量或一个单例,并在需要时引用它。

我认为您正在寻找的已被类所取代,它允许您设置一个和一个中心小部件。

是的,我看到了这个方法。但这感觉像是朝着错误的方向迈出了一步,因为它增加了复杂性。到目前为止,这是唯一一个我觉得Qt3比Qt4好的案例,这就是为什么我要问。我会把这个问题再留一点时间,但如果没有人提出更好的答案,我会接受你的回答。谢谢。好吧,你可以随时跟踪“主要部件”自己,这取决于你的应用程序。