Intereting Posts
Что случилось с проектом Fontmatrix? Что я должен использовать для загрузочного файла pxe для узлов MAAS? Как добавить репозиторий для запуска в Ubuntu 16.04? Менеджер SDK в Android Studio не доступен Btrfs из космоса, но ОС сообщает, что на диске больше свободного места Пустой экран после установки ограниченного драйвера nvidia Какой вариант debconf preseed для автоматической перезагрузки после установки? запуск 32-разрядного битного файла на 64-битном Kubuntu Могу ли я использовать Thunderbird для доступа к серверу Microsoft Exchange? Проблема с шумоподавлением с ноутбуком Asus. Нашел рабочее решение для Windows, теперь как это сделать на Ubunutu? GNU Make не найден – Как установить GNU Make on 12.04 Где находится файл конфигурации терминала gnome? Как я могу предотвратить автоматическое приостановление работы моего ноутбука (из-за критически низкой батареи) от цикла? Как я могу восстановить gnome-keyring, чтобы автоматически разблокировать мои SSH-ключи после входа в систему? Могу ли я использовать встроенный инструмент скринкаста Gnome Shell в Unity?

QDir :: SetSorting Не работает на Ubuntu

У меня проблема с 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. Есть что-то, что мне не хватает? Спасибо за ваше время.

    Вы смешиваете 2 переменные: m_dir и m_directory . Я предполагаю, что это опечатка, и вы хотите использовать одну и ту же переменную.

    QDirIterator не поддерживает сортировку. QDir::setSorting() влияет только на список, возвращаемый QDIr:: entryInfoList() и QDir:: entryList() . Используйте любой из них для сортированной итерации.