在Qt中,我们想要通过对话框来打开某一个图片,可以通过使用QFileDialog来快速实现,参见以下代码:

 

QString fileName = QFileDialog::getOpenFileName(this,
    tr("Load Image"), "",
    tr("Images (*.png *.bmp *.jpg *.tif *.GIF);;All Files (*)"));
if (fileName.isEmpty()) {
    return;
}
QImageReader reader(fileName);
const QImage newImage = reader.read();
if (newImage.isNull()) {
    QMessageBox::information(this, QGuiApplication::applicationDisplayName(),
        tr("Cannot load %1: %2")
        .arg(QDir::toNativeSeparators(fileName), reader.errorString()));
    return;
}
const QPixmap pix = QPixmap::fromImage(newImage);
ui.imgLable->setPixmap(pix.scaled(size,Qt::IgnoreAspectRatio)));

 

保存图片可以使用如下代码:

QString fileName = QFileDialog::getSaveFileName(this,
        tr("Save Image"), "",
        tr("Images (*.png *.bmp *.jpg *.tif *.ppm *.GIF);;All Files (*)"));
if (fileName.isEmpty()) {
    return;
}
image0.save(fileName);

 

类似内容请参见我之前的博客QDialog, QFileDialog 和 QDesktopServices 的使用方法

相关文章:

  • 2021-12-06
  • 2021-08-27
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
猜你喜欢
  • 2021-05-23
  • 2021-04-07
  • 2021-08-24
  • 2021-08-11
  • 2021-11-30
  • 2021-08-13
  • 2022-12-23
相关资源
相似解决方案