Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2016, 19:03   #1
_Санек_
Пользователь
 
Регистрация: 02.09.2010
Сообщений: 52
По умолчанию Xml в QTreeView

Искал в интернете, но так и не нашел:
Подскажите, как можно сохранить модель дерева QStandardItemModel например в xml файл, чтобы потом из этого файла заново восстановить модель.
Я думал так: из модели получил очередь QQueue со всеми вершинами дерева по порядку(слева направо сверху вниз), каждый элемент очереди объект класса Vertice, в котором хранил текст, число потомков, QModelIndex вершины и предка и т.д. Но сохранить QModelIndex в xml не получится, как я понял. Поэтому у меня получилось сохранить всю очередь без индексов в xml. А как без индексов восстановить все дерево пока не придумал.
_Санек_ вне форума Ответить с цитированием
Старый 08.07.2016, 09:58   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

TreeView это ДЕРЕВО (с корнями ветвями листьями)
XML это ТО ЖЕ дерево (ВЛОЖЕННЫЕ узлы)
и копировать и восстанавливать надо КАК ДЕРЕВО (не теряя информации о вложенности).

берем исходное дерево(TreeView)
берем его КОРНЕВЫЕ узлы (ПО ОЧЕРЕДИ)
копируем в узел XМL
берем ДОЧЕРНИЕ узлы и копируем их как ВЛОЖЕНИЯ данного узла (С ТЕМ ЖЕ ТИПОМ!!).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Select iteam's childrens QTreeView Smart Visual C++ 0 03.07.2013 11:45
C#. Парсинг XML-файла с использованием библиотеки System.xml.linq Gift020 Помощь студентам 5 04.04.2013 13:44
программа, которая должна находить в данной директории *.xml файлы и переименовывать в *.xml.dt. (Delphi) nice.name Помощь студентам 2 09.01.2013 15:40
сформировать xml-файл на основе другого xml-файла NieL Общие вопросы Delphi 2 21.12.2010 15:49
парсер XML, не видит XML тэги supercelt PHP 3 02.11.2009 19:18