连接 QDomNode 和 QStandardItem

Connect QDomNode with QStandardItem

所以我正在研究简单的 xml reader,我想在树上显示 xml。

所以为了获得关于树上的哪个项目是 xml 文件中的哪个项目的信息,我制作了一个 QMap:

QMap<QDomNode*,QStandardItem*> connectDomNodeAndStandardItem;

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

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

输出:

0x41be60
0x41be28

所以我的问题是 - 我如何连接 QDomNodeQStandardItem

QDomeNode 是使用显式共享的 class。这意味着同一节点的所有副本都对相同的数据进行操作。所以你不必使用指针。不同地址的原因是因为 QDomNode::parentNode returns 父副本。