【问题标题】:When does wxpython event object get declared within the Bind and event handling logic?wxpython 事件对象何时在绑定和事件处理逻辑中声明?
【发布时间】:2023-02-09 06:34:12
【问题描述】:

我有工作的 wxpython 代码,但我不明白一些逻辑。在代码中,滚动事件被分配给“OnSliderScroll”事件处理程序。

sld.Bind(wx.EVT_SCROLL, self.OnSliderScroll) 

OnSliderScroll 定义如下:

def OnSliderScroll(self, e):
  obj = e.GetEventObject()
  ...

但是“e”没有在任何地方声明(至少没有明确声明)。我期待类似的东西

e = ...

“e”在哪里/什么时候被宣布?

【问题讨论】:

  • 为什么需要申报?它是一个正式的参数名称,可以是任何你想要的。

标签: python wxpython wxwidgets


【解决方案1】:

e 是表示事件本身的对象,按照约定,传递给所有事件处理程序。它是在 wxPython 本身内部定义的,这就是为什么您在自己的代码中看不到它,但它是在您的事件处理程序定义中声明的——作为它的参数。

【讨论】:

    猜你喜欢
    • 2016-09-23
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    相关资源
    最近更新 更多