未分类的Qt容器
我有一个QVector,它应该存储文件路径,比如未分类的Qt容器,qt,qstring,qvector,qdir,qfileinfo,Qt,Qstring,Qvector,Qdir,Qfileinfo,我有一个QVector,它应该存储文件路径,比如 "./zThumbnail/1004.jpeg" "./zThumbnail/1005.jpeg" "./zThumbnail/1006.jpeg" "./zThumbnail/1007.jpeg" "./zThumbnail/1008.jpeg" "./zThumbnail/1009.jpeg" "./zThumbnail/101.jpeg" "./zThumbnail/1010.jpeg" "./zThumbnail/1011.jpeg" "
"./zThumbnail/1004.jpeg"
"./zThumbnail/1005.jpeg"
"./zThumbnail/1006.jpeg"
"./zThumbnail/1007.jpeg"
"./zThumbnail/1008.jpeg"
"./zThumbnail/1009.jpeg"
"./zThumbnail/101.jpeg"
"./zThumbnail/1010.jpeg"
"./zThumbnail/1011.jpeg"
"./zThumbnail/1012.jpeg"
"./zThumbnail/1013.jpeg"
QFileInfoList filelistinfo = dir.entryInfoList();
foreach (const QFileInfo &fileinfo, filelistinfo) {
imagePath.push_back(fileinfo.absoluteFilePath());
qDebug() << fileinfo.absoluteFilePath();
}
./abc/1.jpg
./abc/2.jpg
./abc/3.jpg
.
.
.
./abc/1209.jpg
如何以数字顺序存储图像文件路径?您可以使用
std::sort
进行排序,因此我假设文件的基本名称为整数
QFileInfoList filelistinfo = dir.entryInfoList();
for(const QFileInfo &fileinfo: filelistinfo)
imagePath.push_back(fileinfo.absoluteFilePath());
std::sort(imagePath.begin(), imagePath.end(),
[](const QString & a, const QString & b) -> bool
{
return QFileInfo(a).baseName().toInt() < QFileInfo(b).baseName().toInt();
});
qDebug()<<imagePath;
QFileInfoList filelistinfo=dir.entryInfoList();
for(const QFileInfo和fileinfo:filelistinfo)
imagePath.push_back(fileinfo.absoluteFilePath());
排序(imagePath.begin(),imagePath.end(),
[](常量字符串和a、常量字符串和b)->bool
{
返回QFileInfo(a.baseName().toInt() qDebug()建议@Jiu阅读以下内容:,std::sort比qSort快std::qSort!=qSort
。也就是说,qSort
也被Qt本身弃用,所以不,不要重新编译。
QFileInfoList filelistinfo = dir.entryInfoList();
for(const QFileInfo &fileinfo: filelistinfo)
imagePath.push_back(fileinfo.absoluteFilePath());
std::sort(imagePath.begin(), imagePath.end(),
[](const QString & a, const QString & b) -> bool
{
return QFileInfo(a).baseName().toInt() < QFileInfo(b).baseName().toInt();
});
qDebug()<<imagePath;