ここで大まかに最小限の実証的な例です:wxPythonのイベントへのコールバックを結合しないことは、適切
import wx
app = wx.App(False)
frame = wx.Frame(None)
menuBar = wx.MenuBar()
menu = wx.Menu()
menuBar.Append(menu, "&Menu")
frame.SetMenuBar(menuBar)
for name in ['foo','bar','baz']:
menuitem = menu.Append(-1,"&"+name,name)
def menuclick(e):
print(name)
frame.Bind(wx.EVT_MENU, menuclick, menuitem)
frame.Show(True)
app.MainLoop()
問題があること、すべてのメニュー項目、クリックされたとき、版画「バズ」。 menuclick
関数は、クロージャーで適切な名前をラップして元の名前を保持するべきではありませんか?
Hm、明らかに私はPythonのクロージャを読む必要があります。イベントのラベルを入手してくれてありがとう! – perimosocordiae