Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未分类的Qt容器_Qt_Qstring_Qvector_Qdir_Qfileinfo - Fatal编程技术网

未分类的Qt容器

未分类的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" "

我有一个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/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;