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

When to use event.Skip() in wxPython event handlers?

在 wxPython 中,您经常会看到在事件处理程序中执行某些操作后,会调用 event.Skip(),据我所知,这会阻止事件处理在此时停止,而是让它传播到下一个事件处理程序,如果有的话。

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

我不明白的是:是否(总是)需要调用 event.Skip()?还是只在特定情况下?或者这样做或多或少是一种好的做法?

可以说,这完全是关于事件传播(但仅适用于 wx.CommandEvents,因为只有它们传播),因此除非您有特定需要调用 event.Skip(),否则不应调用它,理所当然。这样做,仅仅意味着您正在执行比您需要的更多的代码。
http://wiki.wxpython.org/EventPropagation

Is it (always) necessary to call event.Skip()?

绝对没有必要。 documentation 很好地解释了 event.Skip()。调用 event.Skip() 与好坏无关。它是关于事件处理机制的。

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