参考:QFileDialog 的文档,完成对某个目录下的多个图片文件的选择
时间: 2024-02-12 08:06:54 浏览: 22
好的,下面是一个使用 QFileDialog 实现选择某个目录下的多个图片文件的示例代码:
```cpp
QStringList Viewer::selectImages()
{
QStringList filters;
filters << "*.png" << "*.jpg" << "*.jpeg" << "*.bmp"; // 文件过滤器,只选择这些格式的文件
QString dir = QFileDialog::getExistingDirectory(this, tr("Select Directory"), QDir::homePath()); // 打开文件夹选择对话框
QStringList fileNames; // 用于存储选择的文件名
if (!dir.isEmpty()) {
QDirIterator it(dir, filters, QDir::Files, QDirIterator::Subdirectories); // 遍历目录及其子目录下的文件
while (it.hasNext()) {
fileNames << it.next(); // 将文件名添加到列表中
}
}
return fileNames; // 返回选择的文件名列表
}
```
这个函数会打开一个文件夹选择对话框,让用户选择一个目录。然后,它会使用 QDirIterator 遍历这个目录及其子目录下的所有文件,只选择符合过滤器中指定的格式的文件,并将它们的文件名添加到一个 QStringList 中,最后返回这个列表。
你可以在调用这个函数时将返回的 QStringList 传递给 addPaths() 函数,以便对这些文件进行进一步处理。