猫咪的图片:370*280像素
基本的代码:
from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtGui import QPixmap, Qt
app = QApplication([])
widget = QWidget()
layout = QVBoxLayout(widget)
label = QLabel()
label.setFixedSize(1000, 600) # 将label的尺寸设为1000*600
pixmap = QPixmap('mm.png') # 读取和定义图像文件
label.setPixmap(pixmap) # 设置图像文件到label
layout.addWidget(label)
widget.show() # 显示
app.exec()
运行结果:原图1:1显示
设置自动缩放:
from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtGui import QPixmap, Qt
app = QApplication([])
widget = QWidget()
layout = QVBoxLayout(widget)
label = QLabel()
label.setFixedSize(1000, 600) # 将label的尺寸设为1000*600
pixmap = QPixmap('mm.png') # 读取和定义图像文件
label.setPixmap(pixmap) # 设置图像文件到label
# # # 启用自动缩放
label.setScaledContents(True)
layout.addWidget(label)
widget.show() # 显示
app.exec()
显示结果:原图的长宽按照label的尺寸自动缩放,如果原图和label的长宽比不同,会有变形。
设置不变形的缩放:
from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtGui import QPixmap, Qt
app = QApplication([])
widget = QWidget()
layout = QVBoxLayout(widget)
label = QLabel()
label.setFixedSize(1000, 600) # 将label的尺寸设为1000*600
pixmap = QPixmap('mm.png') # 读取和定义图像文件
# 设置不变形缩放后的图片
scaled_pixmap = pixmap.scaled(label.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
label.setPixmap(scaled_pixmap)
layout.addWidget(label)
widget.show() # 显示
app.exec()
显示结果:原图按照最合适的不变形比例进行缩放