本人新学PYTHON不久,问了很多人都说PYTHON没有事件机制。。 偶觉得很麻烦,就自己写了一个。
要广播事件就必须继承 EventDispatcher类, 广播的事件必须是Aevent或者其子类。
Code
使用示例代码
class Obj(EventDispatcher):
self.i = 1
EventDispatcher.__init__(self)
def addI(self):
self.i = 1 + self.i
EventDispatcher.dispatchEvent(self,Aevent('iadd'))
def onIadd():
print o.i
o = Obj()
o.addEventListener('iadd',onIadd)
o.addI() #output 2
o.addI() #output 3
o.removeEventListener('iadd',onIadd)
o.addI() #no output
def __init__(self):
self.i = 1
EventDispatcher.__init__(self)
def addI(self):
self.i = 1 + self.i
EventDispatcher.dispatchEvent(self,Aevent('iadd'))
def onIadd():
print o.i
o = Obj()
o.addEventListener('iadd',onIadd)
o.addI() #output 2
o.addI() #output 3
o.removeEventListener('iadd',onIadd)
o.addI() #no output