如何制作一个 QheaderView 多级?
How to make a QheaderView multilevel?
我正在创建一个应用程序来保存 object 发送服务的数据。
我用 Qt
创建了一个 QStandardItemModel
类型的模型,我想用 QtableView
显示它。
但是QtableView
给我显示了左边的线级。如果可能我想删除它或隐藏它。
我也有一个header的问题,我想水平分成两部分,然后将底部的相应部分垂直分成两部分。这些划分的原因是我有两个 header 具有相似的开头(通信日期和通信编号)
感谢您的回复,因为这对我来说真的很重要。
这个类型的QHeaderView
不存在,但是我们可以为它创建它我们必须创建一个继承自QHeaderView
的class,主要重写方法paintSection
这是负责绘制 QHeaderView
.
部分的方法
但是要为任何类型的视觉设计做通用项目,我们必须保留每个部分的位置和大小信息,为此我们将创建一个模型,以了解为什么会被覆盖classes 我推荐你阅读以下link.
的内容
解释每个方法的逻辑很广泛,所以只放置实现上述项目的 link 并描述每个 class 的任务:
TableHeaderItem
:负责保存每一项的信息,除了label之外主要是rowspan和columnspan。
GridTableHeaderModel
:模型class提供对每个项目的访问,以便我们可以编辑和阅读每个项目
GridTableHeaderView
:这个 class 是自定义的 QHeaderView
,其中主要方法被覆盖以获得所需的外观。
GridTableView
(可选):是一个具有直接与 GridTableHeaderView 一起工作的方法的 TableView。
输出:
注:要隐藏垂直header只需要使用hide()
方法:
horizontalHeader()->hide();
我正在创建一个应用程序来保存 object 发送服务的数据。
我用 Qt
创建了一个 QStandardItemModel
类型的模型,我想用 QtableView
显示它。
但是QtableView
给我显示了左边的线级。如果可能我想删除它或隐藏它。
我也有一个header的问题,我想水平分成两部分,然后将底部的相应部分垂直分成两部分。这些划分的原因是我有两个 header 具有相似的开头(通信日期和通信编号)
感谢您的回复,因为这对我来说真的很重要。
这个类型的QHeaderView
不存在,但是我们可以为它创建它我们必须创建一个继承自QHeaderView
的class,主要重写方法paintSection
这是负责绘制 QHeaderView
.
但是要为任何类型的视觉设计做通用项目,我们必须保留每个部分的位置和大小信息,为此我们将创建一个模型,以了解为什么会被覆盖classes 我推荐你阅读以下link.
的内容解释每个方法的逻辑很广泛,所以只放置实现上述项目的 link 并描述每个 class 的任务:
TableHeaderItem
:负责保存每一项的信息,除了label之外主要是rowspan和columnspan。GridTableHeaderModel
:模型class提供对每个项目的访问,以便我们可以编辑和阅读每个项目GridTableHeaderView
:这个 class 是自定义的QHeaderView
,其中主要方法被覆盖以获得所需的外观。GridTableView
(可选):是一个具有直接与 GridTableHeaderView 一起工作的方法的 TableView。
输出:
注:要隐藏垂直header只需要使用hide()
方法:
horizontalHeader()->hide();