Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt:如何正确显示图像?_Python_Pyqt - Fatal编程技术网

Python PyQt:如何正确显示图像?

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

我想在pyqt中显示一个图像,所以我使用了标签和pixmap选项,以及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.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”。