将QDomNode与QStandardItem连接起来

Connect QDomNode with QStandardItem

本文关键字:连接 起来 QStandardItem QDomNode      更新时间:2023-10-16

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

因此,为了了解树上的哪个项目是xml文件中的项目,我制作了一个QMap:

QMap<QDomNode*,QStandardItem*> connectDomNodeAndStandardItem;

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

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

输出:

0x41be60
0x41be28

所以我的问题是 - 我如何将QDomNodeQStandardItem联系起来

QDomeNode是一个

使用显式共享的类。这意味着同一节点的所有副本都对相同的数据进行操作。因此,您不必使用指针。地址不同的原因是QDomNode::parentNode返回父地址的副本。