Python 如何使用'保存Qimage;jpeg&x27;PyQt格式?

Python 如何使用'保存Qimage;jpeg&x27;PyQt格式?,python,qt,pyqt,Python,Qt,Pyqt,I平台是Windows7,Python3.4,PyQt5 我发现我无法以jpeg格式保存QImage对象 >>> from PyQt5 import QtCore, QtGui >>> i = QtGui.QImage() >>> i.load(r"C:\Users\paleneutron\Pictures\Capture4.PNG") True >>> i.save(r"C:\Users\pa

I平台是
Windows7
Python3.4
PyQt5

我发现我无法以
jpeg
格式保存
QImage
对象

>>> from PyQt5 import QtCore, QtGui
>>> i = QtGui.QImage()
>>> i.load(r"C:\Users\paleneutron\Pictures\Capture4.PNG")
True
>>> i.save(r"C:\Users\paleneutron\Pictures\hehe.jpg")
False
>>> i.save(r"C:\Users\paleneutron\Pictures\hehe.jpg",format = 'jpeg')
False
>>> i.save('hehe.png')
True
>>> i.save('hehe.bmp')
True
>>> i.save('hehe.jpg')
False
>>> i.save('hehe.jpeg')
False
在中,
jpeg
同时支持读写

为什么我这么做的时候会出错

编辑 我选择了支持的格式作为注释:

>>> QtGui.QImageWriter.supportedImageFormats()
[PyQt5.QtCore.QByteArray(b'bmp'), PyQt5.QtCore.QByteArray(b'pbm'), PyQt5.QtCore.QByteArray(b'pgm'), PyQt5.QtCore.QByteArray(b'png'), PyQt5.QtCore.QByteArray(b'ppm'), PyQt5.QtCore.QByteArray(b'xbm'), PyQt5.QtCore.QByteArray(b'xpm')]
问题是,
jpeg
丢失了

但是我在
C:\Python34\Lib\site packages\PyQt5\plugins\imageformats
中有
qjpeg.dll
。我应该怎么做才能在我的程序中启用
jpeg

谢谢切尔诺贝利

我偶然得到了解决办法

我在我的完整程序中尝试了测试代码,效果很好。这是因为
PyQt
的许多特性必须在使用它之前构造
qgui应用程序

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
print(QtGui.QImageWriter.supportedImageFormats())
现在我们得到了完全支持的格式:

[PyQt5.QtCore.QByteArray(b'bmp'), PyQt5.QtCore.QByteArray(b'ico'), PyQt5.QtCore.QByteArray(b'jpeg'), PyQt5.QtCore.QByteArray(b'jpg'), PyQt5.QtCore.QByteArray(b'pbm'), PyQt5.QtCore.QByteArray(b'pgm'), PyQt5.QtCore.QByteArray(b'png'), PyQt5.QtCore.QByteArray(b'ppm'), PyQt5.QtCore.QByteArray(b'tif'), PyQt5.QtCore.QByteArray(b'tiff'), PyQt5.QtCore.QByteArray(b'wbmp'), PyQt5.QtCore.QByteArray(b'xbm'), PyQt5.QtCore.QByteArray(b'xpm')]

首先检查:其次,对于jpg Qt需要特殊的jpg插件(当您部署应用程序时,它应该在imageformats目录中),您是否尝试部署exe?或者是部署Linux应用程序,或者只是在IDE中编写代码时的调试模式?@Chernobyl,我必须部署exe才能使用PyQt功能,这太荒谬了。但我偶然得到了解决办法。我写了下面的解决方案。对不起,我不知道Python:)只有C++和QT,但是这些领域的知识有时允许我为Python +QT提供好的答案。你们找到了解决方案,这很好,所以我把答案和问题都投了赞成票:)