在MacOS上以全屏模式显示弹出窗口



背景

我们正在构建一个带有"弹出"提醒的跨平台应用程序,它们是使用QWidget.setWindowFlags的自定义Windows/对话框:

self.setWindowFlags(
    QtCore.Qt.Dialog
    | QtCore.Qt.WindowStaysOnTopHint
    | QtCore.Qt.FramelessWindowHint
)

这些弹出窗口显示在我们已经测试的系统(MacOS,Lubuntu(LXDE))上,即使我们在不同的虚拟桌面之间切换对话框仍显示在当前桌面中。但是:

问题

当用户在macos 上以全屏模式处于(sierra 10.12.6)时,对话框在最后一个使用的虚拟桌面中显示

问题

即使用户处于MacOS上的全屏模式?

,我们如何向用户显示"弹出"对话框

简短的答案是您不能,其他任何应用都不能。

这就是原因。

这个想法是,当您选择应用程序的全屏视图时,您希望专注于该应用程序,以排除所有其他应用程序。因此,该应用不仅扩展以填充整个屏幕,还可以删除菜单栏并创建自己的桌面空间。

您可以看到使用任务控件的工作方式(默认情况下,用3个手指向上滑动)。您将在所有监视器中看到所有应用程序和所有桌面。接下来,将应用程序设置为全屏,然后再次滑动。您会看到该应用具有专用桌面(我相信它甚至没有墙纸)。

最重要的是MacOS全屏视图不支持弹出窗口。

相关内容

  • 没有找到相关文章

最新更新