2011年1月19日 星期三

在wxPython中使用自定event

參考網頁。一個簡單的測試程式如下:
import wx
import wx.lib.newevent

# regist a custom event
SomeNewEvent, EVT_SOME_NEW_EVENT = wx.lib.newevent.NewEvent()

class TestWin(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None)
        # bind event and event handler
        self.Bind(EVT_SOME_NEW_EVENT, self.handler)
        
        # trigger an event
        #     create an event
        evt = SomeNewEvent(attr1="hello", attr2=654)
        #     post this event
        wx.PostEvent(self, evt)

    # event handler
    def handler(self, evt):
        print evt.attr1, evt.attr2
 
app = wx.PySimpleApp()
app.TopWindow = TestWin()
app.TopWindow.Show()
app.MainLoop() 

沒有留言: