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

时间:2009-07-19 20:38:09

标签: c++ qt4

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

3 个答案:

答案 0 :(得分:3)

从技术上讲,任何使用NULL初始化的窗口小部件都是顶级窗口小部件,因此QApplication不应该假设其中一个窗口小于另一个窗口小部件。
我通常这样做的方法是在某处保存指向“真实”主窗口小部件的指针,甚至是全局变量或单例,并在需要时引用它。

答案 1 :(得分:2)

我认为topLevelWidgets()尽可能接近。

编辑:

烨。 Qt4增加了复杂性(和功率)。没有应用程序范围的MainWidget了。可以创建,显示和隐藏许多QMainWindows,并再次显示。这是一件好事,但:) 正如shoosh注意到的那样,可以使用全局变量(yuck!)或QApplication子类轻松模拟QT3行为。

答案 2 :(得分:1)

我认为您所寻找的内容已被QMainWindow类所取代,该类允许您设置setget中央小部件。