Qt Load and Save Image Dialog 加载图片对话框

简介:

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

本文转自博客园Grandyang的博客,原文链接:加载图片对话框Qt Load and Save Image Dialog ,如需转载请自行联系原博主。

相关文章
|
6月前
|
Linux iOS开发 MacOS
19 QT - 标准文件对话框
19 QT - 标准文件对话框
33 0
|
4月前
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
44 0
|
2月前
|
存储 缓存 前端开发
Qt Quick Image探秘:从底层原理到高级应用(二)
Qt Quick Image探秘:从底层原理到高级应用
66 0
|
2月前
|
开发工具 C++ 开发者
Qt Quick Image探秘:从底层原理到高级应用(一)
Qt Quick Image探秘:从底层原理到高级应用
46 0
|
6月前
15 QT - 对话框QDialog概述
15 QT - 对话框QDialog概述
20 0
|
3月前
|
存储
QT基础入门——QMainWindow与对话框QDialog(三)
QT基础入门——QMainWindow与对话框QDialog(三)
57 0
QT基础入门——QMainWindow与对话框QDialog(三)
|
9月前
QT5基本对话框
QFileDialog类的几个静态函数见上表,用户通过这些函数可以很方便地定制 自己的文件对话框。其中,getOpenFileName()函数返回用户选择的文件名。但是当 用户在选择文件时,如果选择“取消”(Cancel),则返回一个空串。在此仅详细说 明getOpenFileName()静态函数中各个参数的作用,其他文件对话框类中相关的静态函数 的参数有与其类似之处。
30 0
QT5基本对话框
|
5月前
|
数据安全/隐私保护
QT基础教程(对话框2)
QT基础教程(对话框2)
34 0
|
5月前
QT基础教程(对话框1)
QT基础教程(对话框1)
34 0
|
5月前
|
C++
C++ Qt开发:自定义Dialog对话框组件
在之前的文章中笔者已经为大家展示了默认`Dialog`组件的使用方法,虽然内置组件支持对数据的输入,但有时候我们需要一次性输入多个数据,此时如果之使用默认模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,需要说明的是此类对话框也是一种窗体,所以可以在其上面放置任何通用组件,以实现更多复杂的开发需求。自定义对话框需要解决的问题是,如何让父窗体与子窗体进行数据交换,要实现数据的交换有两种方式,第一种方式是通过动态加载模态对话框,当用户点击确定后通过`GetValue()`来拿到数据,而第二种方式则是通过发送信号的方式将数据投递给父窗体,这两种方式都可以,读者可根据自身需求来选择不同的通
43 1
C++ Qt开发:自定义Dialog对话框组件