Так что я работаю над простым читателем XML, и я хочу показать XML на дереве.
Итак, чтобы получить информацию о том, какой элемент дерева является элементом в файле XML, я сделал QMap:
QMap<QDomNode*,QStandardItem*> connectDomNodeAndStandardItem;
но похоже что QDomNode
создать совершенно новую структуру объектов, когда я использую любой из его методов:
QDomNode *node = &_xmlDocument.firstChild();
qDebug() << node;
node = &node->firstChild();
qDebug() << &node->parentNode();
Выход:
0x41be60
0x41be28
Итак, мой вопрос — как я могу подключиться QDomNode
с QStandardItem
QDomeNode
это класс, который использует явное совместное использование. Это означает, что все копии одного и того же узла работают с одними и теми же данными. Так что вам не нужно использовать указатели. И причина для другого адреса в том, что QDomNode::parentNode
возвращает копию родителя.
Других решений пока нет …