wxpython - Post 传播的自定义事件

wxpython - Post custom event that propagates

现在我有一个 child 面板 post 一些事件。我试过了

    myEvent = events.ChangedAvailModelsEvent()
    #self.GetEventHandler().ProcessEvent(myEvent)
    wx.PostEvent(self, myEvent)

我用

创建我的活动
ChangedAvailModelsEvent, EVT_CHANGEDAVAILMODELS = NewEvent()

我绑定

self.Bind(events.EVT_CHANGEDAVAILMODELS, self.OnUpdate)

这发生在第 n 个祖父母身上。我有打印语句告诉我事件已处理,但之后我的函数从未被调用过。我不确定是什么问题。我觉得事件没有向上传播。有帮助吗?

将其更改为使用 NewCommandEvent 而不是 NewEvent。命令事件将自动向上传播父链以搜索处理程序。非命令事件将仅由它们发布到的对象处理。参见 http://wiki.wxpython.org/self.Bind_vs._self.button.Bind