1

我有如下数据表示:


  • --+ 父母(0:0)
    • ----+儿童1(1:1)
      • ----+儿童11 (2:2)
    • ----+儿童(1:n)

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

如果父 col:row 为 0:0。子 col:row 应该是 1:1。此外,孩子的孩子可以将 col:row 设置为 2:2

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

提前致谢。

4

1 回答 1

1

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

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

于 2013-03-12T10:08:40.583 回答