通过" X"关闭Pyglet窗口,我假设事件" on_close"将被触发,但它似乎并非如此。我做错了什么?
window = pyglet.window.Window(fullscreen=False)
@window.event
def on_draw():
sprite.draw()
label.draw()
def on_close():
print("I'm closing now") #<- this never happens
此处填写完整的脚本(第175行): https://github.com/VirToReal/py-slideshow/blob/master/slideshow.py
答案 0 :(得分:1)
import pyglet
window = pyglet.window.Window(fullscreen=False)
@window.event
def on_draw():
window.clear()
window.flip()
@window.event
def on_close():
print("I'm closing now") #<- this never happens
pyglet.app.run()
您遇到两个问题,一个问题 - 您在应用程序中缺少pyglet.app.run()
或任何形式的事件调度。
另一个问题是您没有使用decorator作为on_close()
功能
先前声明的装饰器仅用于该功能,即on_draw()
。
其他一些附注:
你没有清除窗口,有时需要调用flip()
,可能会记住这个。