Qt显示图片时,图片自适应窗口大小,有两种方法:
1、以窗口的大小来显示图片:
QImage img;
ui->label->setPixmap(QPixmap::fromImage(img.scaled(ui->label->size())));
2、将图片平铺窗口
QImage img;
ui->label->setPixmap(QPixmap::fromImage(img));
ui->label->setScaledContents(true);
完整代码:
void MainWindow::OpenFile()
{
QString filename = QFileDialog::getOpenFileName(this,tr("选择图像"),"",tr("Images(*.png *.bmp *.jpg *.tif *.gif);;AllFiles(*.*)"));
if(filename.isEmpty())
{
return;
}
else
{
QImage img;
if(!(img.load(filename))) //加载图像
{
QMessageBox::information(this, tr("打开图像失败"),tr("打开图像失败!"));
return;
}
ui->lb_Screen->setPixmap(QPixmap::fromImage(img.scaled(ui->lb_Screen->size())));
// ui->lb_Screen->setPixmap(QPixmap::fromImage(img));
}
// ui->lb_Screen->setScaledContents(true);
}