首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

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

2013-09-06 
Qt中怎么在一棵树中加入两个同样的结点本帖最后由 yimi0903 于 2013-08-23 14:23:39 编辑我现在的程序需要

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对象就随着树结构的销毁而被释放了吧

热点排行