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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сохранение TreeWidget в XML  (Прочитано 4420 раз)
Stek
Гость
« : Июль 17, 2012, 11:08 »

Доброго времени суток!

Возникла задача сохранить дерево TreeWidget в xml, а затем прочесть его. Вроде бы и есть примеры. Читал про SAX, DOM, но близкого к тому что мне нужно найти не смог, возникли проблемы. В частности как сохранить рисунки узлов в xml, можно ли сослаться на них в тегах.

Визуально treewidget дерево довольно простое, представляет собой:

-parent
  -item
     subitem
     subitem
     subitem


Напротив каждого узла расположена картинка.

Нечто похожее имеется для Delphi http://delphi.about.com/library/weekly/aa101904a.htm


В QT новичок, не судите строго если что не так. Буду благодарен за помощь, Спасибо Улыбающийся
Записан
alexis031182
Гость
« Ответ #1 : Июль 17, 2012, 14:24 »

Возникла задача сохранить дерево TreeWidget в xml, а затем прочесть его. Вроде бы и есть примеры. Читал про SAX, DOM, но близкого к тому что мне нужно найти не смог, возникли проблемы.
Вы искали готовое решение. А можно просто взять примеры из кьютишного ассистента, слегка подправить и будет то, что нужно.

В частности как сохранить рисунки узлов в xml, можно ли сослаться на них в тегах.
Естественно, сами картинки сохранять в xml не стоит. Можно использовать либо наименование файла картинки, либо какой-нибудь уникальный идентификатор.

Визуально treewidget дерево довольно простое, представляет собой:

-parent
  -item
     subitem
     subitem
     subitem

Код:
<?xml version="1.0" encoding="UTF-8"?>
<parent>
   <item txt="my item">
      <item txt="my subitem1" />
      <item txt="my subitem2" />
   </item>
</parent>
Напротив каждого узла расположена картинка.
Код:
<?xml version="1.0" encoding="UTF-8"?>
<parent>
   <item txt="my item" img="fname.jpg">
      <item txt="my subitem1" img="fname1.jpg" />
      <item txt="my subitem2" img="fname2.jpg" />
   </item>
</parent>
Нечто похожее имеется для Delphi
Код
C++ (Qt)
QDomDocument doc("Tree");
 
QDomElement parent = doc.createElement("parent");
doc.appendChild(parent);
 
QDomElement item = doc.createElement("item");
item.setAttribute("txt", "my item");
item.setAttribute("img", "fname.jpg");
 
for(int i = 0; i < 2; ++i) {
  QDomElement child_item = doc.createElement("item");
  child_item.setAttribute("txt", QString("my subitem%1").arg(i));
  child_item.setAttribute("img", QString("fname%1.jpg").arg(i));
  item.appendChild(child_item);
}
 
parent.appendChild(item);
 
QString xml = doc.toString();
Записан
Stek
Гость
« Ответ #2 : Июль 18, 2012, 08:06 »


Большущее спасибо за помощь!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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