所以我正在使用简单的xml阅读器,我想在树上显示xml。
因此,为了获得关于树上哪个项目是xml文件中的项目的iformation,我创建了一个QMap:
QMap<QDomNode*,QStandardItem*> connectDomNodeAndStandardItem;
但是当我使用它的任何方法时,QDomNode
似乎创建了全新的对象结构:
QDomNode *node = &_xmlDocument.firstChild();
qDebug() << node;
node = &node->firstChild();
qDebug() << &node->parentNode();
输出:
0x41be60
0x41be28
所以我的问题是 - 如何将QDomNode
与QStandardItem
答案 0 :(得分:1)
QDomeNode
是一个使用显式共享的类。这意味着同一节点的所有副本都在相同的数据上运行。所以你不必使用指针。不同地址的原因是因为QDomNode::parentNode
返回父级的副本。