У меня проблема с QDir, у меня есть эта папка с большим количеством изображений, и мне нужно перебирать их, но они должны быть отсортированы, поэтому я использую setSorting(QDir::Name)
, однако это не работает на Ubuntu . Когда я повторяю его с помощью QDirIterator, он случайным образом выбирает изображения в данной папке. Странно то, что я использую точно такой же код в Windows (minGW или MSVC), и он отлично работает.
someClass::someClass(QDir dir) {
m_dir = dir;
m_directory.setSorting(QDir::Name);
QStringList filter;
filter << QString("*.") + format << QString("*.") + "jpg";
m_dir.setNameFilters(filter);
}
someClass::iterateDir() {
QDirIterator it(m_dir);
while(it.hasNext()) {
it.next();
qDebug() << it.fileName();
//analayze the picture here
}
}
здесь it.fileName()
должен печатать (0.jpeg, 1.jpeg .... 3000.jpeg), но вместо этого печатает (2342.jpg, 1286.jpg, 684.jpg ... 712.jpg) Я пытался использовать другие sortFlags
( QDir::Size, QDir::LocaleAware
), но ни один из них не работает в Ubuntu. Есть что-то, что мне не хватает? Спасибо за ваше время.