【发布时间】:2021-01-27 13:31:33
【问题描述】:
我有一个问题,当它被 MacOS 快捷方式隐藏时,我无法提升我的应用程序窗口。它在所有其他情况下都能正常工作。
在我的应用程序中,我调用了 1 个主 qWindow
QWindow* mMainWindow;
并将以下代码添加到托盘按钮
mMenu->addAction(createAction("Show", [=] {
if (mMainWindow) {
mMainWindow->show();
mMainWindow->raise();
mMainWindow->requestActivate();
}
当我只使用 qt mMainWindow->hide() 然后将其升高时,mMainWindow 工作正常。方法mMainWindow->isActive()在应用处于活动状态时返回正确的true状态,在应用隐藏时返回false。
但是当我在 mac "cmd + h" 中使用内置隐藏应用程序时,mMainWindow->isActive() 返回true,无论应用程序是否隐藏。调用我的操作项没有任何作用,mMainWindow 始终保持隐藏状态。
有没有办法解决这个问题?我看到人们推荐使用QWidget 而不是QWindow 并调用widget->activateWindow(),但这不是我可以使用的解决方案。
【问题讨论】: