关闭 - 在Pyglet中的窗口事件

时间:2017-04-17 09:36:48

标签: python pyglet

通过" 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

1 个答案:

答案 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(),可能会记住这个。