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

Bo *_*ich 6 python qt pyqt pyside

我试图从一个文件QLabel()显示一个pixmapJPG图像(由于它是从网上下载的,它不能在资源文件中),但我在加载它时遇到问题.代码很简单:

label = QLabel()
label.setPixmap(QPixmap("image.jpg"))
Run Code Online (Sandbox Code Playgroud)

它适用于PNG文件,但不适用于JPG文件.我谷歌搜索了很多,发现我需要将"imageformats"文件夹放在脚本所在的同一文件夹中.然而,即使在这样做之后(是的,qjpeg4.dll其他人也在那里),它仍然无效.我也尝试过

path = r"C:\Users\Deusdies\Documents\Work\myapp\imageformats"
app.addLibraryPath(path)
Run Code Online (Sandbox Code Playgroud)

但这也没有帮助.

再次,它加载PNGs很好,但它不会加载JPGs.我甚至在此之前也注意到它也不会加载ICO,但我认为这是一个无关的问题 - 但现在看来并不是这样.

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

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

我怎么解决这个问题?

Bo *_*ich 5

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

path = r"C:\Users\Deusdies\Documents\Work\myapp"
Run Code Online (Sandbox Code Playgroud)

(所以没有"imageformats"部分)

第二,我是个白痴.我在做之前创建了一个QDialog()类的实例addLibraryPath()

  • 这是因为PNG支持在imageformats /中没有相应的插件,它包含或不包含,具体取决于更通用的Qt配置. (2认同)