连接 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
所以我的问题是 - 我如何连接 QDomNode
和 QStandardItem
QDomeNode
是使用显式共享的 class。这意味着同一节点的所有副本都对相同的数据进行操作。所以你不必使用指针。不同地址的原因是因为 QDomNode::parentNode
returns 父副本。
所以我正在研究简单的 xml reader,我想在树上显示 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
是使用显式共享的 class。这意味着同一节点的所有副本都对相同的数据进行操作。所以你不必使用指针。不同地址的原因是因为 QDomNode::parentNode
returns 父副本。