我只是花了相当长的时间来寻找一个64位的pygame安装,以便与python 3.3一起使用,(here),现在我正试图创建一个窗口。但是,尽管窗口打开得很好,但当它按x按钮时它不会关闭。事实上,我必须关闭空闲关闭窗口。我正在运行64位版本的Win 7。这是我的代码:
import pygame
import time
(width, height) = (300, 200)
screen = pygame.display.set_mode((width, height))
pygame.display.flip()
pygame.display.set_caption("Hello World")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
当我附加
time.sleep(5)
pygame.quit()
它还是关不上。我唯一的猜测是pygame.quit可能会进入其中一个循环,但即使解决了这个问题,我还是非常希望能够在需要的时候关闭窗口。
不确定,但试试这个,因为在我最后添加
pygame.quit()
之后,您的代码在我的系统上运行良好这可能是因为在Tkinter上进行了空闲,因此Tkinter和Pygame主循环没有相互理解。
不过,您的代码在命令提示符下运行得很好。
大多数pygame教程似乎建议通过调用
pygame.quit()
然后sys.exit()
退出。我个人遇到了一些问题(虽然是在unix系统上),但仍然无法正确关闭窗口。解决方法是在pygame.quit()
之前特别添加pygame.display.quit()
。据我所知,这不应该是必要的,恐怕我不知道为什么这解决了问题,但确实解决了。如果要在按下窗口按钮x时关闭pygame,请输入如下代码:
我们将exit()放在pygame.quit()之后,因为pygame.quit()使系统退出,exit()关闭该窗口。
相关问题 更多 >
编程相关推荐