Python QLabel()赢得';如果是JPG图像,请不要加载pixmap

Python QLabel()赢得';如果是JPG图像,请不要加载pixmap,python,qt,pyqt,pyside,Python,Qt,Pyqt,Pyside,我正在尝试使用QLabel()显示文件中的pixmapJPG图像(该图像不能位于资源文件中,因为它是从web下载的),但加载时遇到问题。代码相当简单: label = QLabel() label.setPixmap(QPixmap("image.jpg")) 它适用于PNG文件,但不适用于JPG文件。我在谷歌上搜索了不少,发现我需要将“imageformats”文件夹放在脚本所在的同一个文件夹中。然而,即使这样做了(是的,qjpeg4.dll和其他文件都在那里),它仍然不起作用。我也试过这样

我正在尝试使用
QLabel()
显示文件中的
pixmap
JPG图像(该图像不能位于资源文件中,因为它是从web下载的),但加载时遇到问题。代码相当简单:

label = QLabel()
label.setPixmap(QPixmap("image.jpg"))
它适用于
PNG
文件,但不适用于
JPG
文件。我在谷歌上搜索了不少,发现我需要将
“imageformats”
文件夹放在脚本所在的同一个文件夹中。然而,即使这样做了(是的,
qjpeg4.dll
和其他文件都在那里),它仍然不起作用。我也试过这样做

path = r"C:\Users\Deusdies\Documents\Work\myapp\imageformats"
app.addLibraryPath(path)
但这也没用

同样,它加载
PNGs
很好,但不会加载
JPGs
。我以前也注意到它也不会加载ICO,但我认为这是一个不相关的问题——不过现在看来不是这样

值得注意的是,应用程序此时未转换为
.exe
,而是通过
PowerShell
通过
python.exe
解释器运行

我的开发环境是Windows7x64,PySide1.1.0


我怎样才能解决这个问题?

我解决了这个问题。首先,路径应该如下所示:

path = r"C:\Users\Deusdies\Documents\Work\myapp"
(因此没有“图像格式”部分)


第二,我是个白痴。在执行
addLibraryPath()

什么Qt版本之前,我创建了一个QDialog()类的实例?要查看可用的图像格式:
list=QImageReader.supportedImageFormats()
然后
print()
此列表。您完全确定图像不是另一种格式,只有
.jpg
扩展名吗?@dschulz:我得到了:[PySide.QtCore.QByteArray('bmp')、PySide.QtCore.QByteArray('pbm')、PySide.QtCore.QByteArray('pgm')),PySide.QtCore.QByteArray('png')、PySide.QtCore.QByteArray('ppm')、PySide.QtCore.QByteArray('xbm')、PySide.QtCore.QByteArray('xpm')]显然JPG缺失。你知道怎么加吗?是的,我100%确定这是一个JPG。我模糊地记得一个Qt开发者的博客帖子,关于一个特定的图像格式插件,它导致了这种问题。但我想它早就修好了。你的软件更新了吗?这是我说的一篇博文:现在还有一个问题有待解决。。为什么使用PNG图像??;-)这是因为PNG支持在imageformats/中没有相应的插件,它是否包含取决于更通用的Qt配置。@Deusdies:pyside站点上有关于此问题的文档吗?我找不到它。