2017-04-17 5 views
0

윈도우의 "X"를 사용하여 Pyglet을 닫은 후에 "on_close"이벤트가 발생한다고 가정합니다. 내가 뭘 잘못 했니? 여기닫기 - 이벤트를 Pyglet에서 처리합니다.

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

'on_close()'함수에'window.close()'문을 추가하십시오. –

+0

문제는 "on_close"함수가 호출되지 않습니다. 전체 응용 프로그램에 대한 링크를 업데이트했습니다. –

답변

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() 누락 또는 이벤트의 모든 형태의 응용 프로그램에 파견합니다.

다른 문제는 on_close() 기능에 decorator을 사용하지 않았기 때문입니다.
이전에 선언 된 데코레이터는 해당 함수에만 해당되며 on_draw()입니다.

몇 가지 다른 쪽지 :
당신은 창을 지우지 않았고 어떤 때는 flip()을 호출해야하며, 기억하는 것이 좋습니다.

+0

죄송합니다. 전체 텍스트를 복사하지 않았습니다. 그러나 추가 @ window.event 트릭을 했어! 고마워! –

+0

@ BennyH. 걱정 마세요, 다행입니다 :) 해피 코딩! – Torxed

관련 문제