QT GUI -> 单个窗口内多视图显示

6
我正在为一台工业机器创建GUI,我希望有一个“主”窗口来显示一般状态信息,并能让用户点击一个图标,使GUI无缝地切换到不同的视图。例如,主窗口上有一个警告图标,用户单击它后,窗口就会转换成该子系统的详细状态页面。
我的问题是我没有找到一个好的方法在QT中实现这个功能。我可以打开一个新窗口,但我不想让用户管理多个窗口,选项卡具有部分此功能,但我不想让用户必须点击/管理选项卡。我尝试了几个围绕隐藏/显示组件的选项,但我无法在同一窗口上定义多个布局,并以合理的方式管理和切换它们。
因此,简而言之,我希望有一个没有选项卡的单一屏幕,充满了图标/状态小部件,使用户能够点击小部件(例如变成红色的小部件),从用户的角度看,所有主要的小部件就会消失,并被该子系统的详细视图替换,然后当用户完成该视图后,他们可以快速地回到主状态页面。这有意义吗?
有关如何解决此问题的任何建议?谢谢大家。
1个回答

5

使用 QStackedWidget

链接:http://qt-project.org/doc/qt-4.8/qstackedwidget.html

您可以使用 addWidget ( QWidget * widget ) 方法放置不同的小部件。将一个按钮连接到适当的插槽,该插槽将使用 setCurrentIndex ( int index ) 方法更改小部件。

如果您使用 QMainWindow 子类,则可将 QStackedWidget 设置为中心小部件。

看看这张图片:

enter image description here

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


这正是我正在寻找的。非常感谢你。 - user1553046

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接