我的QT应用程序有多个窗口,有时,即使窗口已经打开但在其他窗口下隐藏,用户将选择一个选项从主窗口菜单栏中打开一个,在这种情况下我想简单地将其启动并使其成为当前窗口一.现在使用QWidget-> raise使这个窗口在所有其他窗口之上,但它不会选择它,这就是我需要做的.我尝试过QWidget-> setFocus但是没有做任何事情.在平均时间我使用QWidget-的组合>关闭之后QWidget->节目,但我想知道是否有与使用命令 - >加薪.
我试过了:
pMission->raise();
pMission->setFocus(Qt::ActiveWindowFocusReason);
Run Code Online (Sandbox Code Playgroud)
但它没有用,所以我使用:
pMission->close();
pMission->show();
Run Code Online (Sandbox Code Playgroud)
Mas*_*ang 10
你有没有试过QWidget :: activateWindow?
从帮助文件,这个功能将来
将包含此窗口小部件的顶级窗口小部件设置为活动窗口.活动窗口是具有键盘输入焦点的可见顶级窗口.
在带有 Qt 4.8.0 的 MacOS Lion 上,raise() 是唯一对我有用的方法。activateWindow() 和 setFocus() 没有。
(我没有足够的业力来评论梅森的答案)
| 归档时间: |
|
| 查看次数: |
9272 次 |
| 最近记录: |