2017-06-22 95 views
0

我正在使用QPixmap来显示一个jpg图像,但它不显示。我将jpg图像转换为png,并且可以工作,但我想知道它的原因。Pyqt5为什么我的图像加载为PNG而不是JPG?

pixmap = QtGui.QPixmap("information.jpg") 
self.infoLabel.setPixmap(pixmap) 
self.infoLabel.resize(100, 100) 

加载为JPG看起来像这样

enter image description here

而PNG看起来像这样

enter image description here

编辑:

免责声明:我手动调整窗口的大小。

后我跑:

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_()) 
+1

什么是你的操作系统? – eyllanesc

+0

我的操作系统是Windows 10 – Jaitnium

+1

运行它时没有在终端中生成任何错误消息? – eyllanesc

回答

相关问题