QTreeView、QTableView、不同层次层的显示项

Posted

技术标签:

【中文标题】QTreeView、QTableView、不同层次层的显示项【英文标题】:QTreeView, QTableView, display items of different hierarchy layers 【发布时间】:2012-05-10 09:54:31 【问题描述】:

我想在 QTableView 和 QTreeView 中使用一个自定义模型(继承自 QAbstractItemModel)来显示数据。

我的问题是,是否可以在 QTableView 中显示模型的所有元素(我的意思是所有元素,而不仅仅是来自一个层次结构级别的元素)?到目前为止,我只设法在 QTable 视图中显示一个层次结构级别的项目。

QTreeView:
-A
  -A1
  -A2
-B
  -B1
  -B2

QTableView // current behaviour
-A
-B

QTableView // desired behaviour
-A
-A1
-A2
-B
-B1
-B2

【问题讨论】:

【参考方案1】:

我在这里要做的是使用代理模型在树模型到达 QTableView 之前将其展平。基本上,它是一个位于主模型前面的模型,如果情况需要,它会以不同的格式提供服务,但不会影响模型本身。您可以阅读有关如何使用 Qt here 执行此操作的信息。

【讨论】:

+1 Qt 的文档必须包含一个相似的图表才能更好地表达这个想法。

以上是关于QTreeView、QTableView、不同层次层的显示项的主要内容,如果未能解决你的问题,请参考以下文章

QTreeView 和 QTableView 的 Qt 模型

Qt窗口及控件-QTreeview/QTableView排序问题

如何在 QTableView 列中添加 QTreeView

QTreeView/QTableView中利用QStandardItem实现复选框三种形态变化

QTreeView/QTableView中利用QStandardItem实现复选框三种形态变化

Qt:setAlternatingRowColors,QTableView隔行自动变色