QT遍历获取文件夹下所有文件路径
时间: 2023-07-29 14:12:35 浏览: 148
您可以使用 QDir 类实现遍历获取文件夹下的所有文件路径,具体代码如下:
```cpp
#include <QDir>
//获取指定目录下的所有文件路径
void getAllFilePaths(const QString& dirPath, QStringList& filePaths)
{
QDir dir(dirPath);
if(!dir.exists()) return;
dir.setFilter(QDir::Files | QDir::NoSymLinks);
dir.setSorting(QDir::Name | QDir::IgnoreCase);
QFileInfoList fileInfoList = dir.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList)
{
filePaths.append(fileInfo.filePath());
}
dir.setFilter(QDir::Dirs | QDir::NoSymLinks);
fileInfoList = dir.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList)
{
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..") continue;
getAllFilePaths(fileInfo.filePath(), filePaths);
}
}
//使用方法
QStringList filePaths;
getAllFilePaths("your/path", filePaths);
foreach(QString filePath, filePaths)
{
//处理文件路径
}
```
其中,`getAllFilePaths`函数可以递归遍历获取指定目录下的所有文件路径,并将它们存储在一个字符串列表中。您只需要将`"your/path"`替换为您需要遍历的文件夹路径即可。
阅读全文