在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吗?