Events wxPython ListCtrl OnClick事件
因此,我有一个wxpythonlistctrl,其中包含数据行。当单击其中一行时,如何生成调用函数的事件以及行内容?您可以使用Events wxPython ListCtrl OnClick事件,events,wxpython,call,listctrl,event-binding,Events,Wxpython,Call,Listctrl,Event Binding,因此,我有一个wxpythonlistctrl,其中包含数据行。当单击其中一行时,如何生成调用函数的事件以及行内容?您可以使用Bind函数将方法绑定到事件。比如说, import wx class MainWidget(wx.Frame): def __init__(self, parent, title): super(MainWidget, self).__init__(parent, title=title) self.list = wx.Li
Bind
函数将方法绑定到事件。比如说,
import wx
class MainWidget(wx.Frame):
def __init__(self, parent, title):
super(MainWidget, self).__init__(parent, title=title)
self.list = wx.ListCtrl(parent=self)
for i,j in enumerate('abcdef'):
self.list.InsertStringItem(i,j)
self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnClick, self.list)
self.Layout()
def OnClick(self, event):
print event.GetText()
if __name__ == '__main__':
app = wx.App(redirect=False)
frame = MainWidget(None, "ListCtrl Test")
frame.Show(True)
app.MainLoop()
此应用程序将打印ListCtrl中激活的项目(通过按enter键或双击)。如果您只想捕获一个单击事件,可以使用wx.EVT\u LIST\u ITEM\u SELECTED
重要的一点是,
Bind
函数指定在特定事件发生时要调用的方法。请参阅上的《wxPython入门指南》中的部分。另请参阅widget使用的事件的文档。请参阅此问题的答案@Stephen Terry,谢谢,但这并不能完全回答我的问题;首先,我如何调用该函数?这些回复是关于调用函数后如何从事件中获取信息。