qt不借助opencv可以修改图像尺寸吗?

qt不借助opencv可以修改图像尺寸吗?就是指把1280720的转为800600这种(不一定保持长宽比)

可以啊,用QImage的scaled方法

GDI+不香吗?

(1) scaled()是一个重载函数,按照指定的宽和高,根据纵横比模式和转换模式从原有图像返回一个经过比例转换的图像,如果宽高为0,返回一个空图像

img = QImage(self.path)    #创建图片
size = QSize(newWidth, newHeight)   #缩放宽高尺寸
pixImg = QPixmap.fromImage(img.scaled(size, Qt.IgnoreAspectRatio))       #修改图片大小
self.imageLabel.resize(newWidth, newHeight)
self.imageLabel.setPixmap(pixImg)

(2) 图片自适应 QLabel 区域大小


self.imageLabel.setScaledContents(True)  # 图片自适应 QLabel 区域大小