【发布时间】:2011-12-10 16:00:11
【问题描述】:
我经常发现我需要展示一个窗口并将其放在前面。例如,当用户尝试重新加载同一个文档时,我只是调出旧文档。为此,我有这样的代码:
widget->raise();
widget->activateWindow();
widget->showNormal();
我开始觉得我缺少一个快捷功能。当然,这种行为很常见。是否有一些首选功能可以完成上述所有工作和/或只在每个目标操作系统上做正确的事情?
注意:我刚刚注意到一个缺陷,因此特殊功能现在更加重要。如果窗口最小化,activateWindow 不起作用。即使您先将上述内容重新排序为showNormal,也会发生这种情况。
【问题讨论】:
-
是的,我已经阅读了很多文档。每个操作系统的功能都略有不同,因此我需要多次调用。在这种情况下,我的应用程序是当前的顶级窗口,因此它通常可以工作。
-
听起来像是一个错误,它在 PySide 中对我来说很好用。如果没有重现问题的 SSCCE,很难评估。
-
确实这似乎是一个错误,
activateWindow()单独对我也有用。你能用更新的 Qt 版本(比如 5.6 或 5.7)来测试吗?