我正在为工业机器创建一个GUI,我希望有一个" main"窗口,显示一般状态信息,用户可以单击图标并让gui无缝切换到不同的视图。例如,主窗口上有一个警告图标,他们点击它,窗口就会转换为该子系统的详细状态页面。
我的问题是我还没有找到一种在QT中实现这一目标的好方法。我可以打开一个新窗口,但我不希望用户管理多个窗口,选项卡具有一些此功能,但我不希望用户必须单击/管理选项卡。我尝试了几个围绕隐藏/显示组件的选项,但事实上我无法在同一个窗口上定义多个布局,并且有一个理智的方式来管理和切换它们之间难以接受。
所以简而言之,我希望有一个没有标签的单个屏幕,充满图标/状态小部件,让用户能够点击一个小部件(例如,一个变为红色)和(来自用户)透视)所有主要小部件消失并被该子系统上的详细视图替换,然后当用户完成该视图时,他们可以快速转换回主状态页面。这有意义吗?
有关如何处理此事的任何建议?谢谢大家。
答案 0 :(得分:3)
使用QStackedWidget
:
链接:http://qt-project.org/doc/qt-4.8/qstackedwidget.html
您可以使用addWidget ( QWidget * widget )
方法放置不同的小部件。将其中一个按钮连接到相应的插槽,这将使用setCurrentIndex ( int index )
方法更改小部件。
如果您使用QMainWindow
子类,则可以将QStackedWidget
设置为中央窗口小部件。
看看这张照片:
每个窗口小部件(1,2,3,...)都可以与其他子窗口小部件一起布局(例如,用于显示不同的数据),并且可以添加到QStackedWidget
。在此之后,您应该只setCurrentIndex
显示其中一个小部件。