Pygame窗口打开后立即消失的问题求助
解决Pygame窗口立即消失的问题
首先你的代码存在几个明显问题:
- 包含无效输入文本(比如
enter code he、enter code),还有语法错误vel = 1re(应该改成vel = 1) - 没有维持窗口运行的事件循环,程序执行完窗口创建代码后直接结束,导致窗口秒关
pygame.quit后面缺少括号,正确调用写法是pygame.quit()
下面是修正后的完整代码,核心是添加事件循环监听退出事件,保持窗口运行:
import sys import pygame pygame.init() # 创建窗口 wind = pygame.display.set_mode((600, 600)) width = 300 height = 300 x = 300 y = 300 vel = 1 # 主循环:维持窗口运行直到用户关闭 running = True while running: # 遍历处理所有事件 for event in pygame.event.get(): # 监听窗口关闭按钮事件 if event.type == pygame.QUIT: running = False # 这里可以添加绘图、元素移动等逻辑 wind.fill((0, 0, 0)) # 填充黑色背景 pygame.draw.rect(wind, (255, 0, 0), (x, y, width, height)) # 绘制红色矩形 pygame.display.update() # 刷新屏幕显示 # 退出Pygame并结束程序 pygame.quit() sys.exit()
关键说明:
while running是主循环,只要running为True,窗口就会持续打开pygame.event.get()获取所有系统事件,当用户点击关闭按钮时触发pygame.QUIT事件,此时将running设为False,循环结束后程序正常退出pygame.display.update()用于刷新屏幕,确保绘制的内容能显示出来
内容的提问来源于stack exchange,提问作者Umseizure
相关产品推荐
相关产品推荐

