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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDirModel & checkable items  (Прочитано 6099 раз)
L.Marvell
Гость
« : Май 10, 2007, 12:00 »

Подскажите есть ли способ сделать "итемы" у QDirModel+QTreeView checkable или нужно писать свою модель?
Записан
bigirbis
Гость
« Ответ #1 : Май 10, 2007, 12:24 »

Тут либо наследоваться, либо писать прокси-модель
Записан
L.Marvell
Гость
« Ответ #2 : Май 10, 2007, 16:06 »

Спасибо. Будем разбираться дальше.

добавлено спустя 3 часа 19 минут:

 Побороздив по просторам инета набрел еще на примерно такую же проблему, где советуют следующее:
Make sure your model returns Qt::ItemIsUserCheckable flag for indexes you want to be checkable and both data() and setData() handle role Qt::CheckStateRole.

Унаследовался от QDirModel, переопределил flags(), который дополнительно возвращает Qt::ItemIsUserCheckable, но вот как переопределить data() никак не пойму... В асистенте есть статейка Model Subclassing Reference, но там просто сказано, что нужно переопределять, а вот как...

З.Ы. Просьба сильно не ругать, модели оказались для меня весьма твердым камушком...

добавлено спустя 13 минут:

 Либо я неправильно понял, что нужно сделать...
Записан
Emc
Гость
« Ответ #3 : Май 11, 2007, 12:42 »

работать c QDirModel не очень хорошо - все таки она выполняет свои специфические функции. Лучше взять QStandardItemModel где флаги item'ов полностью под твоим контролем. А получить список item'oв в директории просто - QDir.entryInfoList рулит
Записан
zlatko
Гость
« Ответ #4 : Май 11, 2007, 13:25 »

Посмотри в кт примеры. Там есть пример реализации деревовидной модели, и там видно как и чего переопределять...
Ну и конечно ты можеш вообше не использовать модель а создавать елементи того же tree view через QTreeWidgetItem
Записан
L.Marvell
Гость
« Ответ #5 : Май 11, 2007, 19:34 »

Цитата: "Emc"
работать c QDirModel не очень хорошо - все таки она выполняет свои специфические функции. Лучше взять QStandardItemModel где флаги item'ов полностью под твоим контролем. А получить список item'oв в директории просто - QDir.entryInfoList рулит

Т.е. получается, что все таки лучше писать свою модель. Вот про QStandardItemModel еще не читал, надо бы оценить.

добавлено спустя 4 минуты:

 
Цитата: "zlatko"
Посмотри в кт примеры. Там есть пример реализации деревовидной модели, и там видно как и чего переопределять...
Ну и конечно ты можеш вообше не использовать модель а создавать елементи того же tree view через QTreeWidgetItem

Привет zlatko. Давно не было видно Подмигивающий
Пример смотрел, пока все равно тяжко разобраться с системой моделей. Но все же с моделью мне кажется будет лучше, чем через QTreeWidgetItem.
Записан
Emc
Гость
« Ответ #6 : Май 11, 2007, 20:24 »

Ну если честно не вижу особой разницы между использованием QStandardItemModel и QTreeWidget - буквально на днях закончил переписывать свой старый проект с использованием модели - надо сказать кода получилось немного больше при той же функциональности. Единственная действительно полезная вещь в модели - это ее взаимодействие с QSortFilterProxyModel - вот тут действительно можно добиться забавных результатов. Кстати если все же выберешь модель - советую переходить на версию qt 4.3.0 - наконец-то вышел rc1 до этого сидел на snapshot'ах c версией 4.2 практически невозможно работать - постоянные вылеты (хуже всего 4.2.3 Грустный)
Записан
L.Marvell
Гость
« Ответ #7 : Май 11, 2007, 20:45 »

Цитата: "Emc"
Ну если честно не вижу особой разницы между использованием QStandardItemModel и QTreeWidget - буквально на днях закончил переписывать свой старый проект с использованием модели - надо сказать кода получилось немного больше при той же функциональности. Единственная действительно полезная вещь в модели - это ее взаимодействие с QSortFilterProxyModel - вот тут действительно можно добиться забавных результатов. Кстати если все же выберешь модель - советую переходить на версию qt 4.3.0 - наконец-то вышел rc1 до этого сидел на snapshot'ах c версией 4.2 практически невозможно работать - постоянные вылеты (хуже всего 4.2.3 Грустный)

Собственно сортировка не нужна. Но вот каким путем делать подумать есть над чем (спасибо откликнувшимся, всем вместе и каждому отдельно).
А вот на счет 4.2.3 странно, пока не заметил, но если уже есть 4.3.0 рц1, то стоит посмотреть думаю. Спасибо за наводку.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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