Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QT图形用户界面->;单个窗口中的多个视图_Qt_User Interface - Fatal编程技术网

QT图形用户界面->;单个窗口中的多个视图

QT图形用户界面->;单个窗口中的多个视图,qt,user-interface,Qt,User Interface,我正在为一台工业机器创建一个GUI,我希望有一个“主”窗口,显示一般状态信息,用户可以点击图标,让GUI无缝切换到不同的视图。例如,主窗口上有一个警告图标,用户单击该图标,窗口将转换为该子系统的详细状态页面 我的问题是,我还没有找到一个在QT中实现这一点的好方法。我可以打开一个新窗口,但我不希望用户拥有管理多个窗口的功能,选项卡具有一些此功能,但我不希望用户必须单击/管理选项卡。我尝试了几个围绕隐藏/显示组件的选项,但我不能在同一个窗口上定义多个布局,也不能用一种合理的方法来管理和切换它们,这一

我正在为一台工业机器创建一个GUI,我希望有一个“主”窗口,显示一般状态信息,用户可以点击图标,让GUI无缝切换到不同的视图。例如,主窗口上有一个警告图标,用户单击该图标,窗口将转换为该子系统的详细状态页面

我的问题是,我还没有找到一个在QT中实现这一点的好方法。我可以打开一个新窗口,但我不希望用户拥有管理多个窗口的功能,选项卡具有一些此功能,但我不希望用户必须单击/管理选项卡。我尝试了几个围绕隐藏/显示组件的选项,但我不能在同一个窗口上定义多个布局,也不能用一种合理的方法来管理和切换它们,这一事实阻碍了这种方法

简言之,我希望有一个没有标签的单一屏幕,充满图标/状态小部件,让用户能够点击一个小部件(例如,一个变为红色的小部件),并且(从用户的角度来看)所有主要小部件消失,并被该子系统的详细视图取代,然后当用户完成该视图时,他们可以快速切换回主状态页面。这有意义吗


关于如何处理这个问题有什么建议吗?谢谢大家。

使用
QStackedWidget

链接:

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

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

请看这张图片:


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

这正是我要找的。非常感谢你。