Qlabel中添加图片,并使图片自适应Qlabel的大小
QPixmap picture;
picture.load("./1.jpg");
ui->label->setScaledContents(true);//图片自适应label大小
ui->label->setPixmap(picture);
在layout中Qlabel::setScaledContents(true);失效
解决办法,setPixmap前缩放Qixmap
//QLabel label1 = new QLabel("hello",this);
QString path = QCoreApplication::applicationDirPath();
path = QFileDialog::getOpenFileName(this, "open image", path, tr("Images (*.png *.xpm *.jpg)"));
QPixmap pixmap(path);
//pixmap = pixmap.scaled(label1->size());//没有考虑QLabel的线宽,导致label1比加载图片前大了两个线宽
pixmap = pixmap.scaled(label1->width()-label1->lineWidth()*2,
label1->height()-label1->lineWidth()*2);
label1->setPixmap(pixmap);
demo代码下载
https://download.csdn.net/download/u010168781/10361038