我正在为工业机器创建GUI,我希望有一个“主”窗口来显示常规状态信息,该信息具有供用户单击图标并使gui无缝切换到其他视图的能力。例如,在主窗口上有一个警告图标,他们单击它,然后窗口切换到该子系统的详细状态页面。
我的问题是我没有在QT中找到实现此目标的好方法。我可以打开一个新窗口,但我不希望用户管理多个窗口,选项卡具有某些功能,但是我不希望用户单击/管理选项卡。我尝试了几种围绕隐藏/显示组件的选项,但事实是我无法在同一窗口上定义多个布局,并且有一种理智的方法来管理和在它们之间切换,这使这种方法陷于困境。
简而言之,我想拥有一个没有选项卡的单一屏幕,并用图标/状态小部件填充,让用户能够单击小部件(例如,变成红色的小部件)和(从用户的角度来看)所有主窗口小部件消失,并由该子系统上的详细视图替换,然后当用户使用完该视图后,它们便能够迅速转换回主状态页面。这有意义吗?
有关如何处理此问题的任何建议?谢谢大家
使用QStackedWidget:
链接:http : //qt-project.org/doc/qt-4.8/qstackedwidget.html
您可以使用addWidget ( QWidget * widget )方法放置不同的小部件。将按钮之一连接到适当的插槽,这将使用setCurrentIndex ( int index )方法更改小部件。
如果您使用QMainWindow子类,则可以设置QStackedWidget为中央小部件。
看这张图片:

每个小部件 (1,2,3,...) 都可以与其他子小部件(例如用于显示不同的数据)一起布局,并且可以添加到QStackedWidget. 在此之后,您应该只setCurrentIndex显示此小部件之一。