美文网首页wxpython
wxpython一个event,多个handler,先绑定的后执

wxpython一个event,多个handler,先绑定的后执

作者: 大石猴 | 来源:发表于2018-07-05 13:47 被阅读0次

Q:为什么会有一次event,多次handler的需求呢?

A:因为wxpython 目前有一个BUG,在一个event函数中,无法使用两次Dialog.showModal方法。当第一个Dialog消失后,第二个dialog再弹出,会造成系统卡死。所以必须把两个dialog.showModal放入两个event中。

绑定规则:先绑定的后执行
给按钮sync_button 绑定三个事件,第一次执行的在下,第二次执行的在上,如下:

        self.sync_button.Bind(wx.EVT_BUTTON, self.sync_three_event)
        self.sync_button.Bind(wx.EVT_BUTTON, self.sync_two_event)
        self.sync_button.Bind(wx.EVT_BUTTON, self.sync_one_event)
    def sync_one_event(self, event):
        print("第一次触发事件" )
        event.Skip()
    def sync_two_event(self, event):
        print("第二次触发事件" )
        event.Skip()
    def sync_three_event(self, event):
        print("第三次触发事件" )
        event.Skip()

最后触发的结果是:

第一次触发事件
第二次触发事件
第三次触发事件

相关文章

网友评论

    本文标题:wxpython一个event,多个handler,先绑定的后执

    本文链接:https://www.haomeiwen.com/subject/oncpuftx.html