gyi*_*yim 5 python macos pyobjc wxpython
我正在编写一个 wxPython 应用程序,该应用程序在关闭所有窗口后仍保持打开状态 - 因此您仍然可以将新文件拖放到 OSX 停靠栏图标上(我使用myApp.SetExitOnFrameDelete(False))。
不幸的是,如果我关闭所有窗口,OSX 菜单栏将只包含一个“帮助”菜单。我想至少添加一个文件/打开菜单项,或者只保留主窗口的菜单栏。这在 wxPython 中以某种方式可能吗?
事实上,我也会对非 wxPython hack 感到满意(例如,在 pyobjc 中设置菜单,但在 wxPython 中运行其余的 GUI)。无论如何,OSX 中的 wxPython 开发都是一种黑客攻击;)
更新:我设法使用 Lyndsey Ferguson 的提示解决了这个问题。这是我所做的:
(-10000,-10000)使其不会在屏幕上闪烁(啊,多么肮脏的黑客!)是的,这真的很丑……如果有人提出更漂亮的解决方案,我将不胜感激。
更新2:实际上它可以用更简单的方式解决:如果我们不关闭最后一个窗口,只需隐藏它。并确保它不再响应菜单事件。
你能创建一个位于屏幕外某处的隐藏窗口吗?这是一个 hack,但我记得必须做很多 hack 才能使我的基于 wxPython 的应用程序在 Mac OS X 上正常工作。
注意:您必须禁用关闭按钮并设置该隐藏窗口,以便它不会显示在“窗口”菜单中。
旁白:您是否考虑过将 Python 应用程序的 GUI 部分分解出来并在 Mac OS X 上使用 PyObjC?你会得到更多本地行为......