QLabel() won't load a pixmap if it is a JPG image

我怕爱的太早我们不能终老 提交于 2019-12-22 05:08:44

问题


I am trying to have a QLabel() display a pixmap JPG image from a file (which can't be in a resource file since it is downloaded from the web), but I am having problems loading it. The code is fairly simple:

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

It works with PNG files, but it doesn't work with JPG files. I have Googled quite a bit and found that I needed to place the "imageformats" folder in the same folder where my script is located. However, even after doing this (and yes, qjpeg4.dll and others are there), it still doesn't work. I've also tried doing

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

but that didn't help either.

Again, it loads PNGs just fine, but it won't load JPGs. I've also noticed even before that it won't load ICO either, but I thought of it as an unrelated issue - however it doesn't seem that way now.

It is worth noting that the application is not converted to an .exe at this point - it is ran through python.exe interpreter via PowerShell.

My development environment is Windows 7 x64, PySide 1.1.0

How can I solve this problem?


回答1:


I solved the problem. First, path should look like this:

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

(so without the "imageformats" part)

And second, I was an idiot. I created an instance of the QDialog() class before doing the addLibraryPath()



来源:https://stackoverflow.com/questions/10739758/qlabel-wont-load-a-pixmap-if-it-is-a-jpg-image

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!