如果它是JPG图像,QLabel()将不会加载像素图

时间:2012-05-24 14:41:58

标签: python qt pyqt pyside

我正在尝试QLabel()从文件中显示pixmap JPG图像(因为它是从网上下载的,所以不能在资源文件中),但是我遇到了问题加载它。代码很简单:

label = QLabel()
label.setPixmap(QPixmap("image.jpg"))

它适用于PNG个文件,但不适用于JPG个文件。我用Google搜索了一下,发现我需要将"imageformats"文件夹放在脚本所在的同一文件夹中。但是,即使这样做(是的,qjpeg4.dll和其他人在那里),它仍然不起作用。我也尝试过做

path = r"C:\Users\Deusdies\Documents\Work\myapp\imageformats"
app.addLibraryPath(path)

但这也没有帮助。

同样,它加载PNGs就好了,但它不会加载JPGs。我之前也注意到它也不会加载ICO,但我认为这是一个无关的问题 - 但现在看来并不是这样。

值得注意的是,此时应用程序尚未转换为.exe - 它通过python.exe翻译PowerShell解析器。

我的开发环境是Windows 7 x64,PySide 1.1.0

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

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

path = r"C:\Users\Deusdies\Documents\Work\myapp"

(所以没有“imageformats”部分)

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

之前创建了QDialog()类的实例