Russian Qt Forum
Ноябрь 24, 2024, 10:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Дерево папок с чекбоксами. Как лучше сделать?  (Прочитано 5098 раз)
voltron
Гость
« : Декабрь 12, 2009, 16:03 »

Необходимо отображать в программе дерево папок (файлы отображать не надо) с чекбоксами возле каждого элемента. Потом из отмеченных папок будут загружаться и обрабатываться файлы определенного типа.
Поискал по форуму, нашел несколько похожих тем, но так и не понял что лучше: использовать QDirModel или создавать свою модель? Какие преимущества и недостатки у каждого метода?
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #1 : Декабрь 13, 2009, 03:15 »

если получится использовать QDirModel (мне не требовалось делать чекбоксы во вьюхе с ней) - то большим преимуществом будет скорость разработки - не надо писать свою модель кот. будет обходить рекурсивно каталоги, игнорировать "." и ".." обрабатывать символические ссылки и т.д. и к тому же быть кросплатформенной - я бы все таки на чал с QDirModel.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Декабрь 13, 2009, 04:51 »

>>я бы все таки на чал с QDirModel.
+100
Модель можно потом, одним движением руки поменять, когда будет на что.
Записан

Юра.
voltron
Гость
« Ответ #3 : Декабрь 13, 2009, 12:55 »

Спасибо за ответы. Буду пробовать прикрутить QDirModel
Записан
Dendy
Гость
« Ответ #4 : Декабрь 13, 2009, 16:50 »

Если и использовать стандартную модель, я бы выбрал QFileSystemModel, пришедшую на замену QDirModel. По крайней мере она кеширует данные и выбирает их с файловой системы в другом потоке.
Записан
voltron
Гость
« Ответ #5 : Декабрь 14, 2009, 09:37 »

С QDirModel получилось: отнаследовался от нее, переопределил flags, data и setData. Чекбоксы рисуются, галки снимать/ставить можно. Но появилось еще два вопроса.
1. Сортировка элементов регистрозависимая - сначала идут папки, начинающиеся в заглавной буквы, а после них - со строчной. Чтобы получить регистронезависимую сортировку надо использовать прокси-модель, правильно?
2. Если папку отметить (поставить галку в чекбокс), то выделится только эта папка, вложенные останутся не выделенными. Что надо подкрутить, чтобы при выделении элемента все дочерние элементы тоже выделялись?

Dendy, спасибо. Попробую еще QFileSystemModel. Насколько понимаю, принцип остается тем же - переопределяются flags, data и setData.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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