我正在将应用程序从Qt3移植到Qt4,需要Qt4替换QApplication :: mainWidget(),它用于返回Qt3中的顶级窗口小部件。有没有人知道如何在Qt4中做到这一点?
答案 0 :(得分:3)
从技术上讲,任何使用NULL初始化的窗口小部件都是顶级窗口小部件,因此QApplication不应该假设其中一个窗口小于另一个窗口小部件。
我通常这样做的方法是在某处保存指向“真实”主窗口小部件的指针,甚至是全局变量或单例,并在需要时引用它。
答案 1 :(得分:2)
我认为topLevelWidgets()尽可能接近。
编辑:
烨。 Qt4增加了复杂性(和功率)。没有应用程序范围的MainWidget了。可以创建,显示和隐藏许多QMainWindows,并再次显示。这是一件好事,但:) 正如shoosh注意到的那样,可以使用全局变量(yuck!)或QApplication子类轻松模拟QT3行为。
答案 2 :(得分:1)
我认为您所寻找的内容已被QMainWindow类所取代,该类允许您设置set和get中央小部件。