0
    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

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

4

1 に答える 1

2

私はあなたの質問を理解しているかどうか 100% 確信が持てません。ただし、次のことを試すことができます。

menuBar = wx.MenuBar()
print menuBar.__class__
于 2012-07-29T10:59:45.917 に答える