我不需要点和点
I do not need dot and dotdot
本文关键字:不需要 更新时间:2023-10-16
当我通过QDir::entryInfoList列出条目时,我得到了两个额外的条目,一个带有点,第二个带有两个点。如果我设置QDir::NoDot和QDir::NoDotDot,则没有列出任何内容。我只需要传递给QDir的文件夹的内容,其他什么都不需要。
QFileInfo fi(model_->filePath(e));
auto file_path = fi.absoluteFilePath();
auto lyst = QDir(fi.absoluteFilePath()).entryInfoList(/*QDir::NoDotAndDotDot makes lyst empty*/);
foreach (QFileInfo info , lyst)
{
qDebug() << info.absoluteFilePath();
}
通过QDir::NoDotAndDotDot
过滤器或QDir::Files
或任何您感兴趣的entryInfoList
auto lyst =
QDir(fi.absoluteFilePath()).entryInfoList(QDir::NoDotAndDotDot|QDir::AllEntries);
根据这篇文章:
过滤标志的默认值为
QDir::AllEntries
。当您使用QDir::setFlags
或QDir::entryList
覆盖默认标志时,您不应该忘记包括QDir::Dirs
、QDir::Files
或QDir::Drives
中的至少一个来获取任何条目。
我想象你的代码看起来像这样(还没有测试过):
QFileInfo fi(model_->filePath(e));
auto file_path = fi.absoluteFilePath();
auto lyst = QDir(fi.absoluteFilePath()).entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs | QDir::Files);
foreach (QFileInfo info , lyst)
{
qDebug() << info.absoluteFilePath();
}
相关文章:
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 是否有类似std::lower_bound的函数,而不需要排序/分区输入
- 为什么output_editor Concept不需要output_e迭代器标记
- 在除法中不需要四舍五入
- 与C代码相比,为什么C++代码不需要"#define _POSIX_C_SOURCE 200809L"?
- 将值从另一个数组写入数组,不包括不需要的值 C++
- C++ 写入路径名中包含不需要的空字符的文件
- 是否有必要获取锁并在不需要唤醒线程时通知condition_variable?
- 使用 assimp 加载模型 - 不需要提升?
- 为什么转换函数声明不需要至少一个定义类型说明符
- 返回不需要的值的二叉搜索程序
- 当我不需要数据库中的所有值时,如何部分初始化 c++ 对象?
- C++:用户输入会产生不需要的行为
- 如何在不需要LIBCD.lib的情况下在Visual Studio 6中编译C项目
- 为什么python需要全局关键字而C/C++不需要?
- 将一个宏传递到另一个宏而不是直接传递内容时会出现不需要的额外"空"参数
- 为什么我们需要在 C++ 中检查空指针,而在 Java 中不需要?
- 为什么复制构造函数不需要检查输入对象是否指向自身?
- 为什么不需要在 C++20 中的依赖类型之前指定"typename"?
- C++不重载时间函数,所以我们不需要写 NULL 有什么原因吗?