Qt中怎么在一棵树中加入两个同样的结点
我现在的程序需要在rootItem结点下面加入两个相同的结点leafItem,跪求大神指导,该怎么做,addItem和insertItem都不能重复。我现在写的程序如下,但是仍然只能加上一个结点,不能显示两个。
for (int i = 0; i < 2; ++i) { QTreeWidgetItem *tmpNode = new QTreeWidgetItem(); tmpNode = leafItem; rootItem->addChild(tmpNode); }
首先 你这个代码有着严重的内存泄露。
其次,两次你相当于添加了相同的节点。
如果要添加相同的内容的节点。本质上是添加 两个节点。只不过两个节点的内容相同而已
C/C++ code?for (int i = 0; i < 2; ++i) { QTreeWidgetItem *tmpNode = new QTreeWidgetItem(leafItem); rootItem->addChild(tmpNode); }
new 两个QTreeWidgetItem,QTreeWidgetItem里放了相同的内容应该就可以实现了。至于楼上说的会有内存泄露,表示有点不解。QTreeWidgetItem对象加到树结构中了,QTreeWidgetItem对象就随着树结构的销毁而被释放了吧