选择ListBox项时触发事件

时间:2014-01-25 22:47:31

标签: python events listbox wxpython wxwidgets

我像这样初始化wx.ListBox

mylistbox = wx.ListBox(self, style=wx.LB_SINGLE)
mylistbox.Bind(wx.EVT_LISTBOX, self.OnEventListBox)
# some other things (append some items to the list)
mylistbox.SetSelection(5)

我也有:

def OnEventListBox(self, event):
    print 'hello'
    # plus lots of other things

如何使初始化中的mylistbox.SetSelection(5)命令紧跟OnEventListBox的调用?

备注:似乎SetSelection()没有自动生成wx.EVT_LISTBOX。

1 个答案:

答案 0 :(得分:1)

来自the documentation

  

请注意,[SetSelection]不会导致发出任何命令事件......

这是故意的,因此当您尝试设置UI时,事件并不会全部触发。您只需手动调用OnEventListBox即可获得所需的功能。

更好的是,如果你不需要在init上执行的事件,你可以将初始化提取到一个单独的函数中,然后在{{1}中的init 上调用它。 }}