【发布时间】:2019-01-16 03:59:05
【问题描述】:
我正在处理一个项目,该项目由一个包含一组子小部件的大小部件组成。其中两个子小部件名为“文件资源管理器”和“项目资源管理器”。
由于项目的性质,小部件可以相互叠加,导致 Qt 自动标记小部件,让用户有机会选择任一小部件。
例子:
我想要一些代码段来切换这两个小部件中的哪一个在顶部。由于我主要工作,因此每个都被声明为指向相关小部件的指针。
我试过了:
mFileExplorer->setFocus();
mFileExplorer->raise();
mFileExplorer->show();
mFileExplorer->setFocus();
即使我隐藏了第一个小部件
mProjectExploerer->hide();
mProjectExplorer->close();
我仍然无法将文件资源管理器带到顶部。这是否可以在 Qt 中实现?如果可以,如何实现?
【问题讨论】:
-
你在寻找QStackedWidget吗?
-
很遗憾没有。我正在处理遗留代码,所以我无法切换任何主要的东西,并且小部件不是 QStackedWidget 类的一部分,它们只是独立的小部件。
-
QStackedWidget 已经存在了很长时间,所以我不相信“遗留”的说法。为什么不能用它来解决你的问题?
-
QStackedWidget 是一个类,它由一组小部件组成,并且只允许一个在任何给定时间成为焦点。由于这个项目的性质,如果用户以这种方式定位它们,这里列出的两个子小部件(文件资源管理器和项目资源管理器)可以同时可见是完全可行的。
-
那么也许您正在寻找QDockWidget?不知道,只是在这里猜测;)不太确定你真正想要什么。