读书人

Qt中如何在一棵树中加入两个同样的结点

发布时间: 2013-09-06 10:17:17 作者: rapoo

Qt中怎么在一棵树中加入两个同样的结点
本帖最后由 yimi0903 于 2013-08-23 14:23:39 编辑 我现在的程序需要在rootItem结点下面加入两个相同的结点leafItem,跪求大神指导,该怎么做,addItem和insertItem都不能重复。我现在写的程序如下,但是仍然只能加上一个结点,不能显示两个。


for (int i = 0; i < 2; ++i)
{
QTreeWidgetItem *tmpNode = new QTreeWidgetItem();
tmpNode = leafItem;
rootItem->addChild(tmpNode);
}
qt QTreeWidget
[解决办法]
首先 你这个代码有着严重的内存泄露。
其次,两次你相当于添加了相同的节点。

如果要添加相同的内容的节点。本质上是添加 两个节点。只不过两个节点的内容相同而已

for (int i = 0; i < 2; ++i) {
QTreeWidgetItem *tmpNode = new QTreeWidgetItem(leafItem);
rootItem->addChild(tmpNode);
}

[解决办法]
new 两个QTreeWidgetItem,QTreeWidgetItem里放了相同的内容应该就可以实现了。至于楼上说的会有内存泄露,表示有点不解。QTreeWidgetItem对象加到树结构中了,QTreeWidgetItem对象就随着树结构的销毁而被释放了吧

读书人网 >QT开发

热点推荐