何时在wxPython事件处理程序中使用event.Skip()?

时间:2016-02-02 09:32:58

标签: python events wxpython wxwidgets

在wxPython中,经常看到事件处理程序在执行完东西之后调用event.Skip(),在我的理解中,这会阻止事件处理在此时停止但是让它传播到下一个事件处理程序,如果有的话。

def onButton(event):
    # Doing stuff after button is clicked
    event.Skip()

我不明白的是:是否(始终)需要致电event.Skip()?或仅在特定情况下?或者这样做或多或少是好的做法?

2 个答案:

答案 0 :(得分:1)

可以说,这完全是关于事件传播(但仅限于wx.CommandEvents,因为只有它们传播),所以除非你有特殊需要调用--with-pthread,否则你不应该调用它。当然。要这样做,只是意味着您执行的代码超出了您的需要 http://wiki.wxpython.org/EventPropagation

答案 1 :(得分:0)

  

(总是)需要调用event.Skip()吗?

绝对不是总是必要的。 documentation很好地解释了event.Skip()。呼叫event.Skip()并不是好习惯。这是关于事件处理机制的。

大多数时候,人们不需要event.Skip()。 YMMV。