QStringList文件目录和文件名
QStringList file directory and filename
我一直试图将目录中一些图像的所有文件名的列表放入QStringList中,唯一的问题是我希望目录的名称也包含在结果字符串中。例如,我的列表只包含各种图像名称,如"image_x.jpg",但我希望目录也包括在内,如"../../images/image_x.jpg"。在过去的几个小时里,我一直在尝试不同的方法,并查看了Qt文档,我仍然卡住了。提前谢谢。
QDir dir ("../../images/");
dir.setSorting(QDir::Name);
QStringList list = dir.entryList(QDir::AllEntries | QDir::Dirs);
for (int i = 1; i < list.size(); i++)
{
qDebug() << "Filename " + QString::number(i) + " = " + list.at(i);
}
您可以使用QDir::entryInfoList
和QFileInfo::filePath
:
QFileInfoList list = dir.entryInfoList(QDir::AllEntries);
for (int i = 1; i < list.size(); i++)
{
qDebug() << "Filename " + QString::number(i) + " = " + list.at(i).filePath();
}
或者,您可以使用QDir::filePath
:
QStringList list = dir.entryList(QDir::AllEntries);
for (int i = 1; i < list.size(); i++)
{
qDebug() << "Filename " << i << " = " << dir.filePath(list.at(i));
}
注意QDir::AllEntries
已经包含了QDir::Dirs
,所以没有必要再添加它。
这种方法相对于手动在文件路径中添加dir路径有优势:Qt将正确处理路径以斜杠结束或不以斜杠结束的情况,以及可能出现的其他不可预见的情况。
相关文章:
- C++ 读取整个文件目录
- 通过搜索硬盘驱动器查找文件目录
- 在 Apache Velocity 模板语言中获取文件目录
- 将文件名从目录添加到 char* 数组. C++
- 将文件目录打印到数据结构中
- 是否可以在编译后创建 CMake 目标和文件目录?
- 带有引号+组合目录 c++ 的 ifstream 文件目录
- 如何在 Windows 上的 c++ 中管理文件/目录的发现和使用
- 如何从Windows中的可执行文件中推断出文件/目录路径
- 为什么我的文件/目录操作在Windows上工作正常,但在Linux上不能
- 使用 depend将对象文件保存在相同的生成文件目录中
- Visual Studio - C++ - 以 32 位或 64 位构建和运行应用程序 - 从适当的程序文件目录加载 D
- 如何启动文件/目录/URL的关联应用程序
- 如果文件/目录大小增加以上,有没有办法在Linux中重新呼叫
- Xcode C++头文件目录
- C++获取程序文件目录,附加额外路径并执行
- gradle实验通过srcDir-srcFile指令包含文件目录
- 带有变量的C++文件/目录stat
- 试图插入用户定义的对象到一个矢量,而我从文件目录读取值
- QStringList文件目录和文件名