问题描述:
在控件上使用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)