问题描述:
在控件上使用QPixmap时,希望能重新修改图片的分辨率,而不是使用图片的原始分辨率

解决方法:
主要有两种方法

设置控件的尺寸,例如QPixmap被传入一个QLabel控件时,可以通过设置QLabel控件的尺寸来对QPixmap进行重新裁切。

pix_img = QtGui.QPixmap('./img.png')
label = QtWidget.QLabel()

# 设置label的尺寸
label.setMaximumSize(25, 25)

# 把pix_img传递给label
label.setPixmap(pix_img)

# 设置pix_img填充满Label
label.setScaledContents(True)

这样做的缺点是每个label都需要设置一次,比较繁琐。

另一种方法可以直接对Pixmap进行设置

pix_img = QtGui.QPixmap('./img.png')
pix_img = pix_img.scaled(size, size, QtCore.Qt.KeepAspectRatio)