我刚开始玩pyglet。
在first demo中,我按照以下代码运行:
window = pyglet.window.Window()
@window.event
def on_draw():
window.clear()
label.draw()
我知道这会注册一个事件处理程序,但我不明白如何。
如果没有'@'语法,怎么可以重写?
答案 0 :(得分:3)
它被称为“事件装饰者”。是的,你可以写一下
window.on_draw = on_draw
在“def on_draw()”定义之后,不使用装饰器;但是如果窗口已经有on_draw,它将被覆盖。装饰器将多个事件处理程序“链接”在一起。
答案 1 :(得分:0)
根据docs,Window.event
是装饰者。可以使用@
简单地添加装饰器。