刚开始我的代码如下
QByteArraty image_data; // 假设这个是已有的JPG图片数据
QPixmap pixmap;
QSize size = _ui->label->size();
pixmap.loadFromData(_image_logo, "JPG");
_ui->label->setFixedSize(size); // 锁定大小 不然会被图片撑大
pixmap.scaled(size, Qt::IgnoreAspectRatio); // 这句话就是 QPixmap的 重设大小
_ui->label->setPixmap(pixmap);
理论上这样就能实现 图片填满 QLabel
但实际上 scaled
没有效果
我们这里需要在 Qt Designer
或者 代码
中
设置 label
setScaledContents
属性为 true
就有效果了
_ui->label->setScaledContents(true);
QPixmap
都不需要设置填充了