我正在尝试在脚本中加载QImage(或PyQt4中的任何内容)来加载jpg文件。我还没有找到任何关于如何将jpg图像作为脚本加载的信息,很多用于使用py2exe进行编译但是我甚至无法做到这一点。
花一些时间来解决这个问题,我跟着一些事情无济于事...... 查看我的site-packages / PyQt4 / plugins / imageformats文件夹,我有:
qgif4.dll,qico4.dll,qjpeg4.dll,qmng4.dll,qsvg4.dll,qtga4.dll,qtiff4.dll
根据QtGui.QImageReader.supportedImageFormats(),这是我的pyqt4安装可以使用的
[PyQt4.QtCore.QByteArray('bmp'),PyQt4.QtCore.QByteArray('pbm'),PyQt4.QtCore.QByteArray('pgm'),PyQt4.QtCore.QByteArray('png'),PyQt4。 QtCore.QByteArray('ppm'),PyQt4.QtCore.QByteArray('xbm'),PyQt4.QtCore.QByteArray('xpm')]
我还确保我的qt.conf文件位于主python目录中且它有这个
[路径]
Prefix = C:/Python27/Lib/site-packages/PyQt4
Binaries = C:/Python27/Lib/site-packages/PyQt4
我尝试过添加
Plugins = C:/Python27/Lib/site-packages/PyQt4/plugins/imageformats
Plugins = C:/Python27/Lib/site-packages/PyQt4/plugins
没有运气
我在Windows 7 64b家庭高级版上运行python 2.7.2,PyQt4 4.9.1(均为32b)。
我也尝试过4.8.1和4.8.5版本(我手边有)但是它们都没有支持jpg。我不知所措。如何让这些得到支持?
答案 0 :(得分:8)
似乎有两个不同的问题可能会导致这种情况。看起来我遇到了两个。
第一。我以管理员的身份运行了PyQt4安装程序,这似乎解决了部分问题。所以它需要以管理员身份运行才能使一切正常运行。
第二。为了正确加载所有插件,必须先加载QApplication,然后才能加载任何类型的图像。
所以
app = QtGui.QApplication(sys.argv)
需要先创建。
我的脚本以
运行def main():
app = QtGui.QApplication(sys.argv)
win = window()
win.display()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
自从我以管理员身份安装PyQt4后没有改变,但现在可以工作并加载jpeg和其他所有内容。
我试图做的是创建一个将由PyQt4应用程序调用的脚本,但它不会自行运行,因此不需要首先创建QApplcation。这是我遇到问题#2的地方
供参考:http://article.gmane.org/gmane.comp.python.pyqt-pykde/7176/match=jpeg+plugin+not+loading
以管理员身份安装并始终创建QApplication,即使您不需要它。
如果您只是检查空闲时可用的内容,那么
from PyQt4 import QtGui
QtGui.QImageReader.supportedImageFormats()
不会显示所有内容,仍需要运行
from PyQt4 import QtGui
import sys
app = QtGui.QApplication(sys.argv)
QtGui.QImageReader.supportedImageFormats()
这很容易追踪,所以希望这会对其他人有所帮助。
答案 1 :(得分:0)
万一有人正在搜索加载插件,我created an answer for a more proper question here允许你基本上把插件放在任何网络共享文件夹中。
简而言之,使用QtCore.QCoreApplication.addLibraryPath()
而不是qt.conf文件。