WxPython - 第一个事件处理程序到 activate/wait 以激活第二个事件处理程序

WxPython - 1st Event Handler to activate/wait for 2nd Event Handler to be activated

当我单击 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()

我想以某种方式使第二个事件处理程序的第一个事件处理程序 activate/wait 变为 true(有人按删除键)。然后函数运行并打印 "You pressed delete."

如果这不可能,关于如何做到这一点还有其他想法吗?

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

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