Qt之图片自适应QLabel的大小

首先说明一点:在Qt中使用label显示图片

使用label显示图片时总是会遇到一个问题:图片不能适应label的大小,因此显示的图片很难看,这里提供一种方法,先看下面的代码:

QPixmap *pixmap = new QPixmap(":/images/welcome_tlauto.png");
pixmap->scaled(ui->label->size(), Qt::KeepAspectRatio);
ui->label->setScaledContents(true);
ui->label->setPixmap(*pixmap);

上面4条语句中,前两条与图片有关,后两条与label有关,下面一条一条分析:
第1条语句:获取图片,这里获取的图片是从Qt的资源文件xx.qrc中读取的,如何获取自行百度
第2条语句:设置pixmap缩放的尺寸
第3条语句:它的作用是设置label的属性scaledContents,这个属性的作用是允许(禁止)label缩放它的内容充满整个可用的空间。特别说明的一点是当使能该属性并且label显示pixmap时,它能够缩放pixmap充满整个可用的空间。
第4条语句:设置label的pixmap

经过上面的4条语句之后,就可以看到图片充满整个label的空间了。

你可能感兴趣的:(Qt)