WxPython - 激活/等待第二个事件处理程序激活的第一个事件处理程序

时间:2016-12-17 14:35:49

标签: wxpython

当我点击Wx.ListCtrl中的一行时,除非按下DELETE,否则我不想发生任何事情。问题是,我不知道如何使事件处理程序激活另一个。

到目前为止,这是我的代码:

self.list.Bind(wx.EVT_LIST_ITEM_SELECTED, ...)
self.list.Bind(wx.EVT_KEY_DOWN, self.onSelect)

def onSelect(self, event):
    keycode = event.GetKeyCode()

    if keycode == wx.WXK_DELETE:
        print "You pressed delete."

    event.Skip()

我想以某种方式使第一个事件处理程序激活/等待第二个事件处理程序变为真(有人按下删除)。然后该功能运行并打印“你按下删除。”

如果无法做到这一点,还有其他任何关于如何做到这一点的想法?

1 个答案:

答案 0 :(得分:1)

当列表项选择事件触发时,获取该事件处理程序以将变量can_delete设置为True或False(如果未选择任何项)。 在键事件处理程序中,当按下delete时,还要检查can_delete是否为真。

或者

按下删除时,检查列表控件是否具有焦点并选择了一个项目。