Вад
|
|
« : 07-01-2010 13:42 » |
|
Потихоньку начинаю использовать виджеты из QT4, в связи с чем появился вопрос:
Вот эта предлагаемая архитектура Model-View на основе QAbstractItemModel, QAbstractItemView и их потомков - насколько она вообще применима в реальной жизни для организации работы с данными? По первому впечатлению, складывается ощущение, что интерфейс слишком сложный и неэффективный для того, чтобы это было удобно применять к своим моделям данных (особенно смущают индексы в том смысле, что при обращении к дочерним элементам каждый раз происходит вызов метода модели с индексом родителя в качестве аргумента).
Скажем, если у меня есть однородное дерево с глубиной 2-3 и текстовой информацией, которая не модифицируется (разве что, удалять узлы из дерева), то мне, похоже, проще пользоваться QTreeWidget (там это элементарно: добавил узел, узлу добавил сколько нужно дочерних). Теперь, допустим, я хочу делать что-то чуть более нетривиальное: добавить чек-боксы, запоминать, какие узлы свёрнуты, для восстановления вида дерева при следующем запуске - словом, придать дереву более управляемый вид (вплоть до редактирования содержимого: пусть у меня в узле есть путь до файла, и я хочу его перемещать, задав новый путь в edit-box-е, связанном с деревом, или как-то ещё). Насколько использование модели упростит жизнь? То есть, решение об использовании модели априори сразу усложняет - но способно ли это привести к более простому и ясному дизайну? Или модели - это такой сферический конь в вакууме, и в реальности используются только готовые их реализации, типа QDirModel?
|