在wxPython中,两者有什么区别事件。跳过()和事件。否决()?

2024-09-22 16:42:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个笔记本,上面有以下事件:

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

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

^{pr2}$

以及

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()所做的。在

那么差异是什么呢?在


Tags: 代码selfeventbindpage事件笔记本do
1条回答
网友
1楼 · 发布于 2024-09-22 16:42:49

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

相关问题 更多 >