用Qt自然地对文件名排序(Sort filenames naturally with Qt)
dir.setFilter(QDir::Files | QDir::NoSymLinks);
dir.setSorting(QDir::NoSort); // will sort manually with std::sort
auto entryList = dir.entryList();
QCollator collator;
collator.setNumericMode(true);
std::sort(
entryList.begin(),
entryList.end(),
[&collator](const QString &file1, const QString &file2)
{
return collator.compare(file1, file2) < 0;
});
//std::sort(entryList.begin(), entryList.end(), collator);
转自:https://www.it1352.com/1820403.html