mac wxpython 菜单栏消失

问题描述

我用菜单栏写了一个 wxpython wx.frame。 该程序在过去两年中运行良好。 这是我创建菜单栏对象的方式。

类 CnTaaDMenubar(wx.MenuBar): def init(self,TaaD,parent): super(CnTaaDMenubar,self).init() self.__TaaD = TaaD self.parent = 父母

      #--- cretate the file menu
      fileMenu = wx.Menu()
      saveItem = wx.MenuItem(fileMenu,wx.ID_SAVE,text = "save log",kind = wx.ITEM_norMAL)
      # copyItem.SetBitmap(wx.Bitmap("copy.bmp")) 
      fileMenu.Append(saveItem) 

      saveAsItem = wx.MenuItem(fileMenu,wx.ID_SAVEAS,text = "save log as ...",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      fileMenu.Append(saveAsItem) 

      importTestScriptItem = wx.MenuItem(fileMenu,wx.NewId(),text = "I&import script",kind = wx.ITEM_norMAL)
      # copyItem.SetBitmap(wx.Bitmap("copy.bmp")) 
      fileMenu.Append(importTestScriptItem) 


      quitItem = wx.MenuItem(fileMenu,wx.ID_CLOSE,text = "quit",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      fileMenu.Append(quitItem) 

      self.Append(fileMenu,'&file') 

      #--- create the edit menu 
      editMenu = wx.Menu() 
      copyItem = wx.MenuItem(editMenu,wx.ID_copY,text = "copy",kind = wx.ITEM_norMAL)
      # copyItem.SetBitmap(wx.Bitmap("copy.bmp")) 
      editMenu.Append(copyItem) 

      cutItem = wx.MenuItem(editMenu,wx.ID_CUT,text = "cut",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      editMenu.Append(cutItem) 

      pasteItem = wx.MenuItem(editMenu,wx.ID_PASTE,text = "paste",kind = wx.ITEM_norMAL) 
      # pasteItem.SetBitmap(wx.Bitmap("paste.bmp")) 
      editMenu.Append(pasteItem)

      self.Append(editMenu,'&edit') 

      #--- create view item
      viewMenu = wx.Menu() 
      animaOrScreenShotItem = wx.MenuItem(viewMenu,text = "change to animation",kind = wx.ITEM_CHECK) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      viewMenu.Append(animaOrScreenShotItem) 
      self.Append(viewMenu,'&view') 

      ####################################################
      # project menu
      projectMenu = wx.Menu() 

      switchProjectItem = wx.MenuItem(projectMenu,text = "switch project",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      projectMenu.Append(switchProjectItem) 

      updateProjectItem = wx.MenuItem(projectMenu,text = "update project",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      projectMenu.Append(updateProjectItem) 

      newProjectItem = wx.MenuItem(projectMenu,text = "new project",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      projectMenu.Append(newProjectItem) 

      inviteItem = wx.MenuItem(projectMenu,text = "invite member",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      projectMenu.Append(inviteItem) 

      addissueTrackerItem = wx.MenuItem(projectMenu,text = "add issue tracker",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      projectMenu.Append(addissueTrackerItem) 

      deleteIssueTrackerItem = wx.MenuItem(projectMenu,text = "delete issue tracker",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      projectMenu.Append(deleteIssueTrackerItem) 

      self.Append(projectMenu,'&project') 


      ####################################################
      # test data menu
      testDataMenu = wx.Menu() 
      newTestDataItem = wx.MenuItem(testDataMenu,text = "new test data card",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      testDataMenu.Append(newTestDataItem) 
    
      selectTestDataItem = wx.MenuItem(testDataMenu,text = "select test data card",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      testDataMenu.Append(selectTestDataItem) 

      updateTestDataItem = wx.MenuItem(testDataMenu,text = "update test data card",kind = wx.ITEM_norMAL) 
      # cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
      testDataMenu.Append(updateTestDataItem) 
      self.Append(testDataMenu,'&test data') 

      #--- cretate the file menu
      TRGMenu = wx.Menu()
      newTRGItem = wx.MenuItem(TRGMenu,text = "register TRG",kind = wx.ITEM_norMAL)
      # copyItem.SetBitmap(wx.Bitmap("copy.bmp")) 
      TRGMenu.Append(newTRGItem) 

      myTRGsItem = wx.MenuItem(TRGMenu,text = "my TRGs",kind = wx.ITEM_norMAL)
      # copyItem.SetBitmap(wx.Bitmap("copy.bmp")) 
      TRGMenu.Append(myTRGsItem) 

      updateTRGItem = wx.MenuItem(TRGMenu,text = "update TRG",kind = wx.ITEM_norMAL)
      # copyItem.SetBitmap(wx.Bitmap("copy.bmp")) 
      TRGMenu.Append(updateTRGItem) 

      self.Append(TRGMenu,'&TRGs')


      ####################################################
      # help in menubar 
      helpMenu = wx.Menu() 
      menuHtmlItem = wx.MenuItem(helpMenu,"help",kind=wx.ITEM_norMAL)
      helpMenu.Append(menuHtmlItem) 
      aboutUsItem = wx.MenuItem(helpMenu,"about us",kind=wx.ITEM_norMAL)
      helpMenu.Append(aboutUsItem) 

      self.Append(helpMenu,'&help') 

      self.Bind(wx.EVT_MENU,self.onQuit,quitItem)
      self.Bind(wx.EVT_MENU,self.onSwitchProject,switchProjectItem)
      self.Bind(wx.EVT_MENU,self.onUpdateProject,updateProjectItem) 
      self.Bind(wx.EVT_MENU,self.onNewProject,newProjectItem) 

      self.Bind(wx.EVT_MENU,self.addissueTracker,addissueTrackerItem) 
      self.Bind(wx.EVT_MENU,baseFrame.onNull,deleteIssueTrackerItem)

      self.Bind(wx.EVT_MENU,self.__TaaD.queryDataCardManager().createTestData,newTestDataItem)
      self.Bind(wx.EVT_MENU,self.__TaaD.queryDataCardManager().selectTestData,selectTestDataItem)
      self.Bind(wx.EVT_MENU,updateTestDataItem)

      self.Bind(wx.EVT_MENU,self.onNewTRG,newTRGItem)
      self.Bind(wx.EVT_MENU,self.onMyTRGs,myTRGsItem)
      self.Bind(wx.EVT_MENU,self.onUpdateTRG,updateTRGItem)

      self.Bind(wx.EVT_CLOSE,self.onTerminate)enter code here

这是我在 wx.frame 实例化方法调用这个菜单栏的方法

    self.menubar = CnTaaDMenubar(self.__TaaD,self)
    self.SetMenuBar(self.menubar)
    self.menubar.Show() 

但是今天突然菜单栏在mac平台消失了,而在windows平台仍然出现。
我检查了 wx.frame 样式并显式添加 wx.SYstem_MENU 选项并在这里和那里显式添加 menubar.Show() 语句。 但是这个问题在mac平台并没有得到解决。 有人可以帮我吗?

谢谢

农场

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...