我的PyGame测试代码中有一个帖子,正在监听pygame.QUIT
事件。每当它检测到该事件时,它应该退出整个程序。相反,使用exit(0)
它只会停止侦听器线程。
class ListenerThread(threading.Thread):
def run(self):
while True:
print "Listening..."
events = pygame.event.get()
for event in events:
if event.type == pygame.QUIT:
exit(0)
time.sleep(1)
listener = ListenerThread()
listener.setDaemon(True)
listener.start()
print "Listening..."
和time.sleep(1)
仅用于测试目的。
我还有一些图形代码,每当我运行程序时,终端只重复说Listening...
,然后当我点击'x'按钮关闭窗口时,线程在下一个停止后停止Listening...
,但图形内容仍在继续,所以我必须手动关闭程序。
所以,问题是,如何从线程中关闭整个程序?