Russian Qt Forum

Qt => Общие вопросы => Тема начата: oktogen от Март 09, 2006, 18:13



Название: QT 4.0 QTreeWidget, динамическое отображение
Отправлено: oktogen от Март 09, 2006, 18:13
Сабж: В БД хранятся данные, которые надо представить в виде дерева. Напрягают следующие моменты:
Вложенность дерева заранее не известна, как и число элементов.
Возможно ли другое корректное написание программы, без использования динамического массива указателей?
Динамический массив указателей требует поэлементной очистки в цикле, или достаточно удалить общего родителя?


Название: QT 4.0 QTreeWidget, динамическое отображение
Отправлено: Joe от Март 09, 2006, 19:26
Я делаю сейчас примерно то же самое.
Пришлось забить на ихнюю модель и заимплементить своё видение этого понятия, и подкрутить QTreeWidget для этих целей. У меня упрощается всё тем, что данные в нодах индексированы в базе и ключ я знаю для каждой ноды - потому я юзаю хеш для хранения локально закешеных данных в нодах - это в модели. А в наследованных от QTreeWidgetItem - хранится ключ, по которому из модели можно вытянуть указатель на структуру данных в ноде (запись).
Удаляю все поочерёдно - т.к. храню там указатели, чтоб не плодить копии, но возможно, что если значения там будут явных типов - то хеш будет их грохать сам. Хотя это имеет смысл проверить.