Events wxPython ListCtrl OnClick事件

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

因此,我有一个wxpythonlistctrl,其中包含数据行。当单击其中一行时,如何生成调用函数的事件以及行内容?

您可以使用
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,谢谢,但这并不能完全回答我的问题;首先,我如何调用该函数?这些回复是关于调用函数后如何从事件中获取信息。