我刚刚安装了Pygame 1.9.2并运行了Python 3.3。我无法弄清楚如何制作它,以便当我在我的pygame窗口中单击“X”时,程序将关闭。我相信以下代码适用于Pygame 1.9.2和Python 3.2,但有没有办法让它在Python 3.3上运行?我需要改变什么以获得正确的效果?这是一些简单的代码,说明了我的意思:
# Drawing Lines
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((600,500))
pygame.display.set_caption("Drawing Lines")
while True:
for event in pygame.event.get():
if event.type in (QUIT, KEYDOWN):
sys.exit()
screen.fill((0,0,200))
#draw the line
color = 255,255,0
width = 8
pygame.draw.line(screen, color, (100,100), (500,400), width)
pygame.display.update()
当我运行它时,屏幕上会出现一条对角线,就像它应该的那样,但是当我点击窗口右上角的“X”关闭窗口时,我得到以下内容错误讯息:
Traceback (most recent call last):
File "C:\Python33\Exercise Programs\test_code\code\chap02\DrawingLines.py", line 13, in <module>
sys.exit()
NameError: name 'sys' is not defined
我想如果在mython 3.2中运行,那么说sys.exit()的行应该关闭窗口,但是它在Python 3.3中没有这样做。窗口只是冻结,我收到错误信息。如何在Python 3.3中实现预期的效果?我需要输入什么行?
答案 0 :(得分:3)
哟没有导入sys。只需添加
import sys
到您的导入,然后它应该工作。
你看到一个带有绘图的窗口的事实表明该程序运行正常。
答案 1 :(得分:0)
用于关闭项目窗口的实际命令是pygame.quit()
。