在wxPython中,经常看到事件处理程序在执行完东西之后调用event.Skip()
,在我的理解中,这会阻止事件处理在此时停止但是让它传播到下一个事件处理程序,如果有的话。
def onButton(event):
# Doing stuff after button is clicked
event.Skip()
我不明白的是:是否(始终)需要致电event.Skip()
?或仅在特定情况下?或者这样做或多或少是好的做法?
答案 0 :(得分:1)
可以说,这完全是关于事件传播(但仅限于wx.CommandEvents,因为只有它们传播),所以除非你有特殊需要调用--with-pthread
,否则你不应该调用它。当然。要这样做,只是意味着您执行的代码超出了您的需要
http://wiki.wxpython.org/EventPropagation
答案 1 :(得分:0)
(总是)需要调用event.Skip()吗?
绝对不是总是必要的。 documentation很好地解释了event.Skip()
。呼叫event.Skip()
并不是好习惯。这是关于事件处理机制的。
大多数时候,人们不需要event.Skip()
。 YMMV。