You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pygame加载图片失败、运行程序无窗口弹出问题求助

Pygame窗口无法弹出问题修复

你的代码存在3处直接导致运行异常的问题:

  • 缩进逻辑错误:if __name__ == "__main__" 启动判断被错误缩进放在了game()函数内部,脚本运行时不会主动调用game()函数,程序启动后直接退出,自然不会弹出窗口
  • 主循环缺少事件处理:Pygame运行时必须在主循环中持续消费系统事件队列,否则操作系统会判定程序无响应,即便窗口弹出也会直接卡死
  • 资源路径存在转义隐患:Windows路径中的反斜杠\在Python字符串中属于转义标识,直接书写路径可能出现转义错误,导致图片加载失败、程序崩溃

修正后的可运行代码如下:

import pygame

def game():
    pygame.init()
    size = (500, 500)
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption("PygameDemo")

    # 填充背景色
    screen.fill((78, 56, 78))

    # 加载图片资源,路径加r前缀标记为原始字符串,避免转义问题
    block = pygame.image.load(r"resources\pythonres.jpg").convert()
    screen.blit(block, (0, 0))

    running = True
    while running:
        # 轮询处理系统事件
        for event in pygame.event.get():
            # 监听窗口关闭按钮点击事件,触发时退出主循环
            if event.type == pygame.QUIT:
                running = False
        pygame.display.flip()

    # 退出Pygame释放资源
    pygame.quit()

# 启动判断放在全局作用域,取消原有错误缩进
if __name__ == "__main__":
    game()

运行前请确认脚本同级目录下存在resources文件夹,且文件夹内包含pythonres.jpg图片文件,否则会触发资源加载错误。

内容的提问来源于stack exchange,提问作者Frj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 02:30:55