如何在PyObjC中正确构建主菜单?

时间:2013-06-17 15:39:13

标签: python objective-c cocoa pyobjc

我在这个层次结构中以编程方式在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”菜单,其中包含应该位于“App Name”下的项目。

如何使其表现?

1 个答案:

答案 0 :(得分:1)

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

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