Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MacOS上以全屏模式显示弹出窗口 背景_Macos_Qt_Pyqt_Qt5_Pyqt5 - Fatal编程技术网

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

在MacOS上以全屏模式显示弹出窗口 背景,macos,qt,pyqt,qt5,pyqt5,Macos,Qt,Pyqt,Qt5,Pyqt5,我们正在构建一个带有“弹出”提醒的跨平台应用程序,它们是自定义窗口/对话框,使用如下方式: self.setWindowFlags( QtCore.Qt.Dialog | QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.FramelessWindowHint ) 这些弹出窗口显示在我们测试过的系统(MacOS、Lubuntu(LXDE))上,即使我们在不同的虚拟桌面之间切换,对话框仍然显示在当前桌面上。然而: 问题 当用户在MacO

我们正在构建一个带有“弹出”提醒的跨平台应用程序,它们是自定义窗口/对话框,使用如下方式:

self.setWindowFlags(
    QtCore.Qt.Dialog
    | QtCore.Qt.WindowStaysOnTopHint
    | QtCore.Qt.FramelessWindowHint
)
这些弹出窗口显示在我们测试过的系统(MacOS、Lubuntu(LXDE))上,即使我们在不同的虚拟桌面之间切换,对话框仍然显示在当前桌面上。然而:

问题 当用户在MacOS(Sierra 10.12.6)上处于全屏模式时,对话框将显示在上次使用的虚拟桌面中

问题:
即使用户在MacOS上处于全屏模式,我们如何向用户显示“弹出”对话框?

简单的回答是,您不能,其他任何应用程序也不能

原因如下

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

您可以使用任务控制查看其工作原理(默认情况下,用3个手指向上滑动)。您将在所有显示器上看到所有应用程序和所有桌面。接下来,将应用程序设置为全屏,然后再次向上滑动。你会看到这个应用有一个专用的桌面(我相信它甚至没有壁纸)


底线是macOS全屏视图不支持弹出窗口。

您是否尝试过标志
Qt::Tool
?@mschmidt嗨,我现在收到了使用macOS的朋友的回复,她说,不幸的是,在使用
Qt:Tool
后问题仍然存在。我们仍在寻找解决方案,欢迎任何其他建议!你试过Qt::Popup吗?