Python PyQt:如何正确显示图像?
我想在pyqt中显示一个图像,所以我使用了标签和pixmap选项,以及scaledContents,但是图像被扭曲了。我应该使用其他小部件还是做其他事情?谢谢 代码如下:Python PyQt:如何正确显示图像?,python,pyqt,Python,Pyqt,我想在pyqt中显示一个图像,所以我使用了标签和pixmap选项,以及scaledContents,但是图像被扭曲了。我应该使用其他小部件还是做其他事情?谢谢 代码如下: from PyQt4 import QtCore, QtGui self.label.setPixmap(QtGui.QPixmap(_fromUtf8('image.jpg'))) self.label.setScaledContents(True) 我使用QtDesigner 我尝试了以下方法:self.label.pi
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.keepasspectratio、QtCore.Qt.FastTransformation)
但是图像没有调整大小以适应标签。yourPixmapLabel.setScaledContents(True)缩放pixmap以填充可用空间,并且必须足够。否则,让我们看看一些代码ex使用pixmap的缩放(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)
self.label.pixmap().scaled(QSize(self.label.size(),Qt.keepasspectratio,Qt.FastTransformation),如果我在:self.label.setPixmap(QtGui.QPixmap(_fromUtf8('image.jpg'))之后使用上述内容,最终您可以选择不同的大小。它给出了一个错误,语法无效。哦,是的,我忘记了一个括号。试试这个:self.label.pixmap().scaled(QSize)(QSize)(self.label.size()),Qt.KeepAspectRatio,Qt.FastTransformation)缺少一个括号。感谢您的更正,但现在它给出了:未定义全局名称“QSize”。