问题描述
我用菜单栏写了一个 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 (将#修改为@)