首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MacOS上使用cmd +h隐藏时无法显示() QWindow

在MacOS上使用cmd +h隐藏时无法显示() QWindow
EN

Stack Overflow用户
提问于 2020-10-13 16:21:26
回答 1查看 30关注 0票数 1

我有一个问题,我不能提高我的应用程序窗口时,它被MacOS快捷方式隐藏。它在所有其他情况下都能正常工作。

在我的应用程序中,我有一个名为QWindow* mMainWindow;的主qWindow,并将以下代码添加到托盘按钮

代码语言:javascript
复制
    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(),但这不是我可以在我的案例中使用的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2020-10-14 17:31:35

我发现如果在调用show()之前调用hide()show()将会正确运行。

此问题的解决方法如下

代码语言:javascript
复制
mMenu->addAction(createAction("Show", [=] {
        if (mMainWindow) {
            mMainWindow->hide();
            mMainWindow->show();
            mMainWindow->raise();
            mMainWindow->requestActivate();
        }
    }));

可能会有这样的问题,当应用程序已经在焦点上时,你点击Show,它会再次隐藏和显示,但在我的情况下,这是可以接受的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64331350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档