3 events wxpython call listctrl event-binding
所以,我有一个包含数据行的wxPython ListCtrl.如果单击其中一行,如何使用行内容调用函数调用?
您可以使用该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()
Run Code Online (Sandbox Code Playgroud)
此应用程序将打印ListCtrl中激活的项目(通过按Enter或双击).如果您只想捕获单击事件,则可以使用wx.EVT_LIST_ITEM_SELECTED.
重要的是该Bind函数指定了特定事件发生时要调用的方法.请参阅wxPython入门指南中有关事件处理的部分.另请参阅ListCtrl上有关窗口小部件使用的事件的文档.
| 归档时间: |
|
| 查看次数: |
6718 次 |
| 最近记录: |