PyQt:如何正确显示图像?

时间:2011-12-31 11:02:13

标签: python pyqt

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

这是代码:

from PyQt4 import QtCore, QtGui
self.label.setPixmap(QtGui.QPixmap(_fromUtf8('image.jpg')))
self.label.setScaledContents(True)

我使用QtDesigner。

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

但图片的大小不适合标签。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

yourPixmapLabel.setScaledContents(True)缩放像素图以填充可用空间并且必须足够。否则让我们看一些代码