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
Object を参照しwx.Menu()
ます。このオブジェクトはローカル変数です。そして、この関数呼び出しが終わると削除されます。しかし、本の次のコードは
menuBar.Append(self.createMenu(menuItems), menuLabel)
.
createMenu(menuItems)
どのように機能しますか?つまり、menu
指しているオブジェクトが削除されました。