Mac OS退出应用程序菜单标签与python脚本名称相同

时间:2015-02-20 16:27:17

标签: python macos wxpython py2app pyobjc

当我在Mac OS X中运行我的wxPython应用程序时,Application菜单下的“Quit”菜单项标签为“Quit Myapp”,其中myapp.py是主python脚本的名称。如果我将其重命名为例如coolapp.py,则菜单项上的标签将变为“Quit Coolapp”。

即使我使用py2app打包应用程序,虽然Application菜单从'Python'更改为我setup.py中指定的名称,但Quit菜单项保持不变。

如何更改此菜单项以使用其他应用程序名称?有没有办法将pyobjc桥与wxPython一起使用?

1 个答案:

答案 0 :(得分:1)

事实证明,PyObjC不是必需的,这只能从wxPython中完成。

要调用的函数是SetAppName(name),但此必须通过 OnInit(self): 方法完成。以前我在创建App实例后调用了这个函数,但它什么也没做。

您的代码应如下所示:

class MyApp(wx.App):
    def OnInit(self):
        # Set application name before anything else
        self.SetAppName("My App Name")
        mainframe = MyMainFrame(None, wx.ID_ANY, "")
        self.SetTopWindow(mainframe)
        mainframe.Show()
        return 1

if __name__ == '__main__':
    myapp = MyApp()
    myapp.MainLoop()