最近在做一个要显示图片的项目,问题是改变窗口大小会拉伸图片,现在找到解决方法了,所以我在这里记录一下。
1、效果
2、代码
注:由于使用的是PySide6,使用其他版本的请自行转换。
# -*- coding: UTF-8 -*-
from PySide6 import QtCore, QtGui, QtWidgets
import sys
image = QtGui.QImage("3.jpg")
def resizeEvent(event):
pixmap = QtGui.QPixmap.fromImage(image)
pixmap = pixmap.scaled(event.size(), QtCore.Qt.AspectRatioMode.KeepAspectRatio)
label.setPixmap(pixmap)
if __name__ == '__main__':
App = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
label = QtWidgets.QLabel()
label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
label.setMinimumSize(1, 1)
label.setPixmap(QtGui.QPixmap.fromImage(image))
label.resizeEvent = resizeEvent
window.setCentralWidget(label)
window.show()
sys.exit(App.exec())