Russian Qt Forum
Мая 04, 2025, 11:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDir::entryList QT3.3.8 ограничить число строк  (Прочитано 5919 раз)
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« : Октября 23, 2015, 12:53 »

Формирует список файлов указанного каталога. Если каталог очень большой, то это занимает много времени. Есть ли возможность как то ограничить длину списка, что бы список состоял, например, из первых 100 файлов, удовлетворяющих фильтру?
Записан

Как мало времени и как много нужно узнать
Bepec
Гость
« Ответ #1 : Октября 23, 2015, 13:05 »

Попробуйте использовать entryInfoList. Он менее затратный по ресурсам и уже на основании его формировать список из ста первых.

Ну или переходите на платформозависимые методы.
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #2 : Октября 23, 2015, 13:51 »

А почему он менее затратный?
В entryList возвращается список строк с именами файлов, а в entryInfoList список структур с характеристиками файлов.
Из чего следует, что это менее затратно?
Записан

Как мало времени и как много нужно узнать
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Октября 23, 2015, 13:53 »

А QDirIterator в тройке не было?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #4 : Октября 23, 2015, 13:54 »

нет
Записан

Как мало времени и как много нужно узнать
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Октября 23, 2015, 13:56 »

Тогда пиши сам реализацию. Я так понимаю, у тебя МСВС? Значит только Линух. Значит одна реализация.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Октября 23, 2015, 13:56 »

Или используй стороннюю либу (Буст?)
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #7 : Октября 23, 2015, 13:57 »

ок, бум думать
Записан

Как мало времени и как много нужно узнать
Bepec
Гость
« Ответ #8 : Октября 23, 2015, 14:17 »

Ну, не знаю что за магия внутри, но список в порядка 20к файлов в QStringList формировался дольше, чем QFileInfoList. Ну да смотрите сами.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Октября 23, 2015, 14:27 »

Ну, не знаю что за магия внутри, но список в порядка 20к файлов в QStringList формировался дольше, чем QFileInfoList. Ну да смотрите сами.
Вполне возможно, внутри сначала формируется QFileInfoList, из которого достаются имена.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.029 секунд. Запросов: 20.