今天仔细琢磨了一下,发现几个问题:
1、QtreeWidget本身不包含root指针但是可以直接有多个top项(delphi里面的treeview默认包含一个root指针,但是可以为0)
所以在处理时基本要用到循环top项目,有没有简单方法直接获取root,其子树就是整个显示的内容的呢?
2、在内存中创建一个parent为0的树时,直接将最顶节点指定给一个QtreeWidget作为一个top项是可以的,但是如果将其任意子节点指定为一个top项不能成功,语句会正常执行,但是QtreeWidget无任何改变?一直搞不懂为什么。 作为替代方法,指定任意子节点的clone则是可以的。
3、Qtreewidgetitem的remove方法会从内存中删除参数项目,takechild方法则只是直接改变父子关系,内存中任然存在。
4、综合以上想法,如果我内存中有一个大树,分别将其任意子节点指定给几个不同的Qtreewidgetitem显示出来让用户修改,貌似就很难办了。难道要在内存中生成几个拷贝,修改后再改回去?就像调用clone方法一样?