我正在以这种层次结构在PyObjC中创建菜单。

NSMenu (setMainMenu on NSApplication)
- NSMenuItem(1)
  - NSMenu: "App Name"
    - NSMenuItem(1)
    - NSMenuItem(2)
    ...
- NSMenuItem(2)
  - NSMenu: "File"
    - NSMenuItem(1)
    - NSMenuItem(2)
    ...
- NSMenuItem(3)
  - NSMenu: "Edit"
    - NSMenuItem(1)
    - NSMenuItem(2)
    ...
...


但是,所有PyObjC应用程序显示的都是单个“ Python”菜单,其中包含应在“应用程序名称”下的项目。

我该如何表现?

最佳答案

“ Python”菜单可能是隐藏在Python.framework中的Python.app应用程序中MainMenu.nib中的菜单。该应用程序使得可以在命令行脚本中使用GUI API,而不必求助于私有API。

获得正确行为的最佳方法是通过py2app或手动创建应用程序捆绑包。

关于python - 如何在PyObjC中正确构建主菜单?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17151465/

10-12 20:27