2014-10-07 43 views
3

我正在为工业机器创建一个GUI,我想要一个显示一般状态信息的“主”窗口,以便用户点击图标并让gui无缝切换到不同的视角。例如,主窗口上有一个警告图标,他们点击它并且窗口转换到该子系统的详细状态页面。QT GUI - >在单个窗口中查看多个视图

我的问题是,我还没有找到一个在QT中完成这个的好方法。我可以打开一个新窗口,但我不希望用户管理多个窗口,标签具有一些此功能,但我不希望用户必须单击/管理标签。我尝试了几个围绕隐藏/显示组件的选项,但事实上,我无法在同一个窗口中定义多个布局,并且有一个理智的方式来管理和切换它们,但却难以实现。所以简而言之,我希望有一个没有标签的屏幕,里面充满了图标/状态小部件,让用户能够点击一个小部件(例如一个会变成红色的部件)和(来自用户视角),所有主要小部件消失并由该子系统的详细视图取代,然后当用户完成该视图时,他们可以快速转换回主要状态页面。这有意义吗?

有关如何解决此问题的任何建议?谢谢大家。

回答

2

使用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才能显示其中一个小部件。

+0

这正是我所期待的。非常感谢你。 – user1553046 2014-10-07 21:09:45