我正在使用QPixmap来显示一个jpg图像,但它不显示。我将jpg图像转换为png,并且可以工作,但我想知道它的原因。Pyqt5为什么我的图像加载为PNG而不是JPG?
pixmap = QtGui.QPixmap("information.jpg")
self.infoLabel.setPixmap(pixmap)
self.infoLabel.resize(100, 100)
加载为JPG看起来像这样
而PNG看起来像这样
编辑:
免责声明:我手动调整窗口的大小。
后我跑:
print(QtGui.QImageReader.supportedImageFormats())
输出为:
[PyQt5.QtCore.QByteArray(b'bmp '),PyQt5.QtCore.QByteArray(b'cur'),PyQt5。 QtCore.QByteArray(b'gif '),PyQt5.QtCore.QByteArray(b'icns'),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'svg'),PyQt5.QtCore.QByteArray(b'svgz '),PyQt5.QtCore.QByteArray(b'tga'),PyQt5.QtCore.QByteArray(b” tif'),PyQt5.QtCo re.QByteArray(b'tiff '),PyQt5.QtCore.QByteArray(b'wbmp'),PyQt5.QtCore.QByteArray(b'webp '),PyQt5.QtCore.QByteArray(b'xbm'),PyQt5.QtCore。 QByteArray(一种b'xpm')]
EDIT2:
整个程序:
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class Ui_Form(QtWidgets.QWidget):
def __init__(self):
QtWidgets.QWidget.__init__(self)
self.setupUi(self)
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 400)
self.verticalLayout = QtWidgets.QVBoxLayout(Form)
self.verticalLayout.setObjectName("verticalLayout")
#Label as image code
self.infoLabel = QtWidgets.QLabel(Form)
pixmap = QtGui.QPixmap("information.jpg")
self.infoLabel.setPixmap(pixmap)
self.infoLabel.resize(100, 100)
print(QtGui.QImageReader.supportedImageFormats())
self.verticalLayout.addWidget(self.infoLabel)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Test"))
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
ex = Ui_Form()
ex.show()
sys.exit(app.exec_())
什么是你的操作系统? – eyllanesc
我的操作系统是Windows 10 – Jaitnium
运行它时没有在终端中生成任何错误消息? – eyllanesc