PyQt:如何正确显示图像?

Gia*_*nou 10 python pyqt

我想在pyqt中显示图像,所以,我使用了标签和像素图选项,以及scaledContents但图像失真.我应该使用另一个小部件还是做其他事情?谢谢.

这是代码:

from PyQt4 import QtCore, QtGui
self.label.setPixmap(QtGui.QPixmap(_fromUtf8('image.jpg')))
self.label.setScaledContents(True)
Run Code Online (Sandbox Code Playgroud)

我用的是QtDesigner.

我试过这个: self.label.pixmap().scaled(QtCore.QSize(self.label.size()), QtCore.Qt.KeepAspectRatio, QtCore.Qt.FastTransformation)

但图像不会调整大小以适应标签.

Gia*_*uca 12

使用scaled(const QSize, Qt::AspectRatioMode, Qt::TransformationMode)像素图的方法,它有一个Qt::KeepAspectRatio不会使图像变形的选项.默认设置是忽略纵横比

另外,请注意该scaled方法返回缩放pixmap,因此必须以这种方式使用:

myPixmap = QtGui.QPixmap(_fromUtf8('image.jpg'))
myScaledPixmap = myPixmap.scaled(self.label.size(), Qt.KeepAspectRatio)
self.label.setPixmap(myScaledPixmap)
Run Code Online (Sandbox Code Playgroud)