当树是动态树时,为QTreeView中的行设置Item Delegate

时间:2011-02-03 17:24:50

标签: qt treeview

我正在使用QTreeView来显示项目的层次结构。像这样的东西

Child 1
Child 2
Child 3
   Child a
   Child b
   Child c
Child 4
   Child d

诀窍是:Child 3和Child 4的孩子是动态列表。因此,任何一个都可以有任意数量的孩子。我还希望能够重命名每个节点,但是对于Child 3和Child 4的子节点,正确的名称有不同的规则。

我开始设置setItemDelegateForRow,但当然这不起作用,因为孩子们在树中上下移动,因为其他人被添加/删除。

我希望有一种方法可以将ItemDelegate归属为QStandardItem,但似乎不可能。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

经过大量的调查和思考,我们找到了一个并不可怕的解决方案。

当树中的选择发生变化时,我们会添加一个检查,并根据选择调用setItemDelegate(),并为树中所选节点传递所需的委托。