QFileDialog::getSaveFileName保存图片
时间: 2025-03-05 12:14:26 浏览: 58
### 使用 QFileDialog::getSaveFileName 在 Qt 中保存图片文件
当希望让用户选择一个位置来保存图片时,可以利用 `QFileDialog::getSaveFileName` 函数。此函数提供了一个方便的方式来弹出一个用于保存文件的对话框,并允许指定默认目录以及支持的文件格式。
对于保存图片的具体实现方式,在点击保存按钮后的响应函数内编写如下代码:
```cpp
QString strFileName = QFileDialog::getSaveFileName(
this,
tr("Save Picture"),
"",
"PNG(*.png);;JPG(*.jpg);;BMP(*.bmp)"
);
if (!strFileName.isNull())
{
int nIndex = strFileName.lastIndexOf('.'); // 寻找‘.’符号在字符串中的索引位置
++nIndex;
int nLen = strFileName.length() - nIndex;
QString strSuffix = strFileName.right(nLen); // 截取‘.’符号后面的字符串部分以获得用户选定的文件扩展名
pixx.save(strFileName, strSuffix.toUpper().toUtf8()); // 将图片按照所选路径及格式保存
}
```
上述代码片段展示了如何通过调用 `QFileDialog::getSaveFileName()` 来获取用户想要保存的目标文件名称及其路径[^3]。这里还包含了对文件类型的过滤器设置,使得仅能选择特定格式(如 PNG、JPG 或 BMP)。此外,为了确保能够正确处理不同大小写的文件扩展名,采用了转换为大写的方式匹配图像库中定义的支持格式。
阅读全文
相关推荐


















