gpt4 book ai didi

c++ - QStringList文件目录和文件名

转载 作者:行者123 更新时间:2023-11-28 00:27:37 26 4
gpt4 key购买 nike

我一直在尝试将目录中某些图像的所有文件名的列表放入 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::entryInfoListQFileInfo::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,因此无需再次添加。

这种方法相对于手动将目录路径添加到文件路径具有优势:Qt 将正确处理路径以斜杠结尾或不以斜杠结尾的情况,以及可能的其他不可预见的情况。

关于c++ - QStringList文件目录和文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24230778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com