Qt打开并显示图片时,图片自适应窗口大小

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);

}
经验分享 程序员 微信小程序 职场和发展