qt中entryinfolist函数获取所有dir和文件
时间: 2024-12-02 22:27:46 浏览: 8
QT开发清理指定目录下所有文件
在Qt中,`QDir::entries()` 函数是一个非常有用的方法,它用于从指定目录中获取子项,包括文件和子目录。`entryInfoList()` 是它的别名,这个函数返回的是 `QDirIterator` 的迭代器列表,你可以遍历这个列表来访问每个子项的信息。
例如,如果你想获取当前工作目录下的所有文件和子目录,你可以这样做:
```cpp
QDir dir(".");
QDirIterator it(dir);
while (!it.hasNext()) {
break; // 如果没有更多的元素,可以添加错误处理或者结束循环
}
while (it.hasNext()) {
QFileInfo fileInfo = it.next();
if (fileInfo.isDir()) {
qDebug() << "Directory: " << fileInfo.absolutePath(); // 输出子目录路径
} else {
qDebug() << "File: " << fileInfo.fileName() << " - " << fileInfo.size() << " bytes"; // 输出文件名和大小
}
}
```
在这个例子中,`it.next()` 返回下一个子项信息,`isDir()` 判断是否是目录,`fileName()` 获取文件名,`size()` 获取文件大小。
阅读全文