何时在 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.
在 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.