我可以在Qt的表头中有多行吗?

Chr*_* B. 7 qt qt4

我正在使用Qt4,我有一个QTableView使用自定义模型显示数据.我想在表头中有两行,理想情况下,第一行中的一些单元格跨越多列.这可能吗?

小智 5

关于QTableView的多个headder行,我遇到了类似的问题.我在列标题文本中使用简单的"\n"解决了它.


jto*_*ker 3

我也在寻找这个问题的解决方案。我在 qt-apps.org 上找到了这个类: HierarchicalHeaderView ,由用户 Barmaglodd (Krasnoshchekov Petr) 提供。

该解决方案超出了您(和我)的需要。另外,由于他们的版权声明,我无法使用他们的解决方案。

Andy Shaw 的这篇来自 blog.qt.digia.com 的文章向您展示了如何将 QComboBox 覆盖在标题上。在我的解决方案中,我对另一个标题视图做了同样的事情。这类似于他们在 Qt Frozen 列示例中将 QTableView 覆盖在 QTableView 上的方式。对于此解决方案,您确实需要子类化 QTableWidget 和 QHeaderView。另外,如果您想让用户调整列宽,则需要额外的工作。

提示:重载 SizeHint 以给出“主”标题视图正常高度的 2 倍高度,将主标题视图的文本与底部对齐,并将另一个标题视图绘制在正常标题视图的顶部,在

showEvent(QShowEvent* e)
Run Code Online (Sandbox Code Playgroud)

方法。