2016-01-22 2 views
0

Так что я работаю над простым xml-ридером, и я хочу показать xml на дереве.Соедините QDomNode с QStandardItem

Так, чтобы получить iformation о каком элементе на дереве которым элемент в XML-файл я сделал QMap:

QMap<QDomNode*,QStandardItem*> connectDomNodeAndStandardItem; 

но мне кажется, что QDomNode создать совершенно новую структуру объектов при использовании любого способа его :

QDomNode *node = &_xmlDocument.firstChild(); 
qDebug() << node; 
node = &node->firstChild(); 
qDebug() << &node->parentNode(); 

Выход:

0x41be60 
0x41be28 

Так что мой questi on is - Как я могу подключиться QDomNode с QStandardItem

+1

Если бы я был вами, я бы изменил реализацию на что-то еще - XML-модуль Qt больше не поддерживается и не работает. – MrEricSir

+0

Хорошо, во всяком случае, я изменил способ реализации и сделал этот довольно простой XML-редактор. – Finchsize

ответ

1

QDomeNode - это класс, который использует явный обмен. Это означает, что все копии одного и того же узла работают с одинаковыми данными. Таким образом, вам не нужно использовать указатели. И причина для другого адреса заключается в том, что QDomNode::parentNode возвращает копию родителя.

Смежные вопросы