将QDomNode与QStandardItem连接

时间:2016-01-22 12:51:04

标签: c++ xml qt dom-node

所以我正在使用简单的xml阅读器,我想在树上显示xml。

因此,为了获得关于树上哪个项目是xml文件中的项目的iformation,我创建了一个QMap:

QMap<QDomNode*,QStandardItem*> connectDomNodeAndStandardItem;

但是当我使用它的任何方法时,QDomNode似乎创建了全新的对象结构:

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

输出:

0x41be60
0x41be28

所以我的问题是 - 如何将QDomNodeQStandardItem

联系起来

1 个答案:

答案 0 :(得分:1)

QDomeNode是一个使用显式共享的类。这意味着同一节点的所有副本都在相同的数据上运行。所以你不必使用指针。不同地址的原因是因为QDomNode::parentNode返回父级的副本。