【问题标题】:Mac OS Quit Application menu label same as python script nameMac OS 退出应用程序菜单标签与 python 脚本名称相同
【发布时间】:2015-02-20 16:27:17
【问题描述】:

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

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

如何更改此菜单项以使用不同的应用程序名称?有什么方法可以将 pyobjc 桥与 wxPython 一起使用?

【问题讨论】:

    标签: python macos wxpython py2app pyobjc


    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 2012-07-28
      • 1970-01-01
      • 2021-03-23
      • 2015-10-31
      相关资源
      最近更新 更多