def createMenu(self, menuData):
menu = wx.Menu()
for eachItem in menuData:
if len(eachItem) == 2:
label = eachItem[0]
subMenu = self.createMenu(eachItem[1])
menu.AppendMenu(wx.NewId(), label, subMenu)
else:
self.createMenuItem(menu, *eachItem)
return menu
在此代码中,返回值为menu
。它引用对象wx.Menu()
。此Object是一个局部变量。当这个函数调用结束时它将被删除。但书中的下一个代码是
menuBar.Append(self.createMenu(menuItems), menuLabel)
。
createMenu(menuItems)
它是如何工作的?我的意思是menu
指向的对象已被删除。
答案 0 :(得分:2)
我不是百分百肯定我理解你的问题。但你可以尝试以下方法:
menuBar = wx.MenuBar()
print menuBar.__class__