Pyglet,如何让ESCAPE键不关闭窗口?

Bar*_*ski 9 pyglet

我正在编写一个小示例程序,我想覆盖默认的pyglet的ESC关闭应用程序的行为.我有一些程度:

window = pyglet.window.Window()
@window.event
def on_key_press(symbol, modifiers):
    if symbol == pyglet.window.key.ESCAPE:
        pass
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

Imb*_*dir 19

我知道这个问题很老,但为了以防万一.您必须返回pyglet.event.EVENT_HANDLED以防止默认行为.我没有测试它,但理论上这应该工作:

@window.event
def on_key_press(symbol, modifiers):
    if symbol == pyglet.window.key.ESCAPE:
        return pyglet.event.EVENT_HANDLED
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案,因为它实际上回答了问题。 (2认同)

Ala*_*ery 2

在pyglet-users的 Google 小组中,建议可以重载 window.Window.on_key_press(),尽管没有代码示例。