为何VS Code运行PyQt5程序时图片不显示?PyCharm中正常
问题原因与解决方案
原因分析
你用相对路径"essen.png"加载图片时,程序会从当前运行的工作目录查找文件。PyCharm和双击运行脚本时,默认工作目录就是脚本所在的文件夹,所以能找到图片;但VS Code默认的运行工作目录可能不是脚本所在文件夹(比如是你打开的父目录),哪怕你打开的文件路径正确,运行时依然找不到图片。
解决方案
方案1:使用脚本目录的绝对路径(推荐,跨环境通用)
修改代码,通过脚本的绝对路径拼接图片路径,确保无论工作目录是什么都能找到图片:
import os # 获取当前脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接图片的完整路径 image_path = os.path.join(script_dir, "essen.png") # 加载图片 self.label.setPixmap(QtGui.QPixmap(image_path))
方案2:修改VS Code的运行工作目录
通过配置launch.json,强制VS Code运行脚本时的工作目录为脚本所在文件夹:
- 打开VS Code的「运行和调试」面板(快捷键Ctrl+Shift+D)
- 点击「创建launch.json文件」,选择Python环境
- 在生成的
launch.json中添加"cwd"字段,配置如下:
{ "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "cwd": "${fileDirname}" // 设置工作目录为当前文件所在文件夹 } ] }
之后运行脚本时,相对路径就能正常加载图片。
内容的提问来源于stack exchange,提问作者Sedo76
相关产品推荐
相关产品推荐

