QT自定义树视图

时间:2013-03-12 09:23:01

标签: c++ qt qt4 treeview

我的数据表示如下:


  • - +父母(0:0)
    • ---- + Child1(1:1)
      • ---- + Child11(2:2)
    • ---- + Childn(1:N)

我正在使用QT树视图和自定义模型,并尝试显示它。 我的要求是,与孩子相比,父母需要在不同的栏目中。

如果父col:row为0:0。 子col:行应为1:1。 孩子的孩子还可以将col:row作为2:2

据我读过Qt论坛,没有简单的方法可以做到这一点。它说我必须基于Qt树视图实现我的自定义视图。 这是唯一的方法吗?是否有一个如何实现自定义树视图以供参考的示例? 我在Linux上使用Qt 4.7(Ubuntu 12) 非常感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为如果不对QTreeView进行子类化,您可以修改树视图显示行为。另一种方法是实现QAbstractProxyModel以将自定义模型映射到新代理模型,根据其树级别将自定义模型中的每个索引映射到代理模型中的不同列。我认为后一种方法更容易,因为您已经熟悉实现自定义模型而不是QTreeView。

在这里查看文档: http://qt-project.org/doc/qt-4.8/qabstractproxymodel.html