В этой статье я расскажу о создании собственной файл модели в Qt. Сразу скажу что модель создавалась под конкретную задачу и не планировалось для широкого использования, так что в ней может и не быть того что вам хочется. Еще хочется добавить что опыт программирования на С++/Qt у меня не столь велик, поэтому вполне готов к комментариям типа: «Ваш код г%вно».
Теперь о том, а зачем собственно...
Известно что в Qt 4 есть две встроенных модели работы с файлами:
QDirModel и
QFileSystemModel.
Однако, эти модели очень медленно работают с большим количеством файлов.
QDirModel так вообще безобразно, у второй дела получше, но даже если сравнивать с виндовым проводником, то все равно отвратительно. Как показало исследование профайлером, при каждом запросе к содержимому папки идет очень долгое ожидание мутекса.
Поэтому было принято решение написать собственную файл модель
с блекджеком и шлюхами избавленную от всего лишнего и максимально быстро работающую.
(
Читать дальше
)