QT获取整个目录下的文件路径
时间: 2023-10-26 07:08:08 浏览: 43
可以使用QDir类来获取整个目录下的文件路径。具体实现方法如下:
```cpp
QDir directory("your directory path");
directory.setFilter(QDir::Files | QDir::NoSymLinks); // 设置过滤规则,只获取文件
QFileInfoList fileList = directory.entryInfoList(); // 获取文件信息列表
foreach(QFileInfo fileInfo, fileList) {
QString filePath = fileInfo.absoluteFilePath(); // 获取文件绝对路径
// do something with filePath
}
```
这样就可以获取到指定目录下所有文件的绝对路径了。如果需要获取子目录下的文件,可以将`QDir::NoSymLinks`去掉。
相关问题
获取文件夹目录下所有文件与路径 qt
您可以使用 Qt 的 QDir 类来获取文件夹目录下的所有文件和路径。具体操作步骤如下:
1. 创建 QDir 对象,指定需要获取文件列表的目录路径:
```
QDir dir("/path/to/directory");
```
2. 调用 QDir 的 entryInfoList() 方法获取目录下的文件列表:
```
QFileInfoList fileList = dir.entryInfoList();
```
3. 遍历文件列表,获取每个文件的路径:
```
foreach (QFileInfo fileInfo, fileList) {
QString filePath = fileInfo.absoluteFilePath(); // 获取文件的绝对路径
if (fileInfo.isFile()) {
// 处理文件
} else if (fileInfo.isDir()) {
// 处理子目录
}
}
```
这样就可以获取文件夹目录下所有文件和路径了。注意,上述代码只会获取当前目录下的文件和子目录,如果需要获取子目录下的文件,可以通过递归的方式来实现。
QT遍历获取文件夹下所有文件路径
您可以使用 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"`替换为您需要遍历的文件夹路径即可。