我想在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)
但图片的大小不适合标签。
答案 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)缩放像素图以填充可用空间并且必须足够。否则让我们看一些代码