栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

QPixmap保持宽高比

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
零件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号