首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wxPython ListCtrl OnClick事件

wxPython ListCtrl OnClick事件
EN

Stack Overflow用户
提问于 2011-07-26 21:01:17
回答 1查看 7.3K关注 0票数 3

因此,我有一个包含多行数据的wxPython ListCtrl。当单击某一行时,如何使用行内容创建调用函数的事件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-27 22:53:21

您可以使用Bind函数将方法绑定到事件。例如,

代码语言:javascript
复制
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_LIST_ITEM_SELECTED

重要的一点是,Bind函数指定在发生特定事件时要调用的方法。请参阅event handling上的wxPython入门指南中的部分。另请参阅ListCtrl上的文档,了解小部件使用的事件。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6830393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档