事件派发对象用于处理事件的派发与响应,pyglet的window对象正是继承了它才具有处理事件的能力。
步骤:
1.注册事件类型:
EventDispatcher.register_event_type('on_size')
每个事件派发类的继承类都必须调用这个函数注册事件类型。
实际上是在类中维护了一个列表self.event_types=[],将注册的事件类型添加到该列表中
2.定义事件处理函数,并将事件处理函数添加至栈中:
方法一:通过装饰器添加:
@win.event
def on_size(width,height):
print(width,height)
方法二:通过函数添加:
win.push_handlers(on_size)
win.push_handler(obj)
方法三:直接继承Window类,在类中重写事件处理函数