【问题标题】:PyQt: Creating a table with multiple headerPyQt:创建具有多个标题的表
【发布时间】:2014-04-16 08:05:41
【问题描述】:

我为我的工作创建了一个应用程序,它从数据库中获取数据,对其进行一些计算并将其转储到表格中以供查看。十分简单。但是,有人要求更改信息的显示方式。以前它使用一个简单的表格小部件和一个非常标准的表格。 我的问题主要出现在标题上。 这是我被要求将布局更改为的想法:

如您所见,在第二个标题上方有一个带有列跨度的顶部标题,而第二个标题又在第三个标题上。第三个标题(数字很少)不是必需的,但其他两个标题是。对于它的价值,将在月份下显示计算出的数字。 我的问题是,我怎样才能创建一个表格来制作这样的布局?

【问题讨论】:

  • 我认为你可能不走运,因为 Qt 没有提供用于跨越标题项或创建多个标题行/列的 API。这里通常的建议是尝试第三方HierarchicalHeaderView 小部件。但是,它是用 C++ 编写的,移植到 PyQt 肯定不是一件容易的事(即使它做了你想要的,我不确定它是否会这样做)。还有其他骇人听闻的可能性(例如using a second table for the header),但似乎没有一个是完全令人满意的。
  • 感谢您的回答,我确实认为这是可能的。毕竟,这更多的是 Excel 的工作。

标签: python pyqt qtablewidget


【解决方案1】:

我在 2 年前读过这篇文章,虽然没有真正的答案,但我想我会分享我为仍有需要的人所做的事情,但我的解决方案是将 3 个 QTableViews 组合在一起以获得预期的效果。可以看这里的代码,不是很漂亮

https://github.com/adamerose/PandasGUI/blob/cded504a806cb41b37f77734b8c4f840829a9827/pandasgui/widgets/dataframe_viewer.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    相关资源
    最近更新 更多