在 wxPython 中,event.Skip() 和 event.Veto() 有什么区别?

In wxPython what is the difference between event.Skip() and event.Veto()?

我有一个带有以下事件的笔记本:

self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnPageChanging)

以下代码之间的区别是什么?

def OnPageChanging(self, event):
    try:
        if .....
            do some actions...
            event.Veto()
            return
    except:
        pass

def OnPageChanging(self, event):
    try:
        if .....
            do some actions...
            event.Skip()
            return
    except:
        pass

在本指南中:http://zetcode.com/wxpython/events/ 它说:

Sometimes we need to stop processing an event. To do this, we call the method Veto().

但这听起来和 Skip() 完全一样。

那么差异是什么?

Veto() 用于阻止处理事件,但 Skip() 允许传播事件和处理 "further" 事件。
有两种类型的事件。基本事件和命令事件。它们的传播方式不同。事件传播是事件从子部件到父部件和祖父部件等的进展。基本事件不传播。命令事件会传播。
此外,您可以将多个事件绑定到一个控件,默认情况下,事件处理程序中捕获的事件将停止传播。要继续传播或处理其他绑定事件,请调用 Skip() 方法。 我希望这个解释是清楚的。