2010-02-25 104 views

回答

2

我也在寻找解决这个问题的方法。我找到了这个课程: HierarchicalHeaderView at qt-apps.org用户Barmaglodd(Krasnoshchekov Petr)。

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

This post来自blog.qt.digia.com作者Andy Shaw向您展示了如何在头上叠加QComboBoxes。在我的解决方案中,我用另一个标题视图做了同样的事情。这与他们如何overlaid a QTableView on a QTableView for the Qt Frozen column example类似。对于这个解决方案,你确实需要子类QTableWidget和QHeaderView。另外,如果您想让用户调整需要额外工作的列宽度。

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

showEvent(QShowEvent* e) 

方法。

+0

您的第一个链接很棒,但我想知道在哪些情况下,您可能会因许可证而发现BSD授权代码不可用? – Predelnik 2016-01-18 09:05:24

+0

@Predelnik,我不确定;我一定把这个项目的许可证与另一个混淆了。 – jtooker 2016-01-22 15:55:16

2

您可以制作一个自定义页眉,方法是制作一个QTableWidgetItem,然后使用setHorizontalHeaderItem()。该方法需要一个列号,所以我不确定这是否会允许本地跨越多个列 - 但是,至少您可以对多列使用相同的QTableWidgetItem

至于在标题中使用两行,我不相信这是目前支持。但是,如果您有雄心壮志,您可以通过滚动您自己的派生类QTableWidget来添加此功能。

2

我有一个关于QTableView的多个headder行类似的问题。我在列标题文本中使用简单的“\ n”解决了这个问题。

1

HierarchicalHeaderView的印象下,我做了一个Python端口和一个简单的模型,在QTableView中显示具有多级标题(MultiIndex)的pandas DataFrames。

这是第一个结果dataframemodel。 upd:大数据帧的速度很慢

相关问题