QPixmap保持宽高比

QPixmap保持宽高比,第1张

QPixmap保持宽高比

摆脱

self.myLabel.setScaledContents(True)

调用(或将其设置为False)。它用像素图填充您的小部件,而无需关心纵横比。

QPixmap
发现的那样,如果需要调整a的大小
scaled
则是必需的方法。但是您调用的是错误的。让我们看一下定义:

QPixmap QPixmap.scaled (self,   int width,   int height,   Qt.AspectRatioMode aspectRatioMode = Qt.IgnoreAspectRatio,  Qt.TransformationMode transformMode = Qt.FastTransformation)

此函数的返回类型为

QPixmap
,因此它返回原始像素图的缩放 副本

然后,您需要一个

width
和一个来
height
描述像素图的(最大)最终大小。

另外两个可选参数。

aspectRatioMode
处理宽高比。该文档详细介绍了不同的选项及其效果。
transformMode
定义缩放的方式(哪种算法)。它可能会改变图像的最终质量。您可能不需要这个。

因此,将其放在一起就应该拥有(

Qt
名称空间在内部
QtCore
):

# substitute the width and height to desired valuesself.myLabel.setPixmap(QtGui.QPixmap(_fromUtf8(directory + '\' + tempName)).scaled(width, height, QtCore.Qt.KeepAspectRatio))

或者,如果您有一个固定的size

QLabel
,则可以调用该
.size()
方法以从中获取大小:

self.myLabel.setPixmap(QtGui.QPixmap(_fromUtf8(directory + '\' + tempName)).scaled(self.myLabel.size(), QtCore.Qt.KeepAspectRatio))

注意 :您可能需要使用

os.path.join(directory, tempName)
directory + '\' +tempName
零件。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5668479.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存