今天一个偶然的机会发现PySide2.QtGui.QPixmap.scaled(w, h[, aspectMode=Qt.IgnoreAspectRatio[, mode=Qt.FastTransformation]])这个函数在Pyside2和Pyqt5中参数不一样,其中Pyside2中第三个参数是aspectMode,而Pyqt5中参数是aspectRatioMode,本来一个参数不同也很正常,Pyside2简写了而已,但是不同的是这个参数显示的效果不太一样。
这个参数有以下三个值。


对于一个单独的布局的label来说,两者参数的表现并无不同,但是当我的图片放置在一个网格布局中时,Pyside2的参数设置为KeepAspectRatio和Pyqt5参数设置为KeepAspectRatioByExpanding表现是一样的,很是奇怪。
以下是Pyqt5的显示结果。
KeepAspectRatioByExpanding
KeepAspectRatio
准确点来说是Pyqt5的参数在这里显示有点不对劲,具体原因有待研究。

参考

https://doc.qt.io/qtforpython/PySide2/QtGui/QPixmap.html?highlight=qpixmap#PySide2.QtGui.PySide2.QtGui.QPixmap.scaled
https://doc.qt.io/archives/qtjambi-4.5.2_01/com/trolltech/qt/core/Qt.AspectRatioMode.html

最后修改:2020 年 04 月 14 日 12 : 53 PM