gpt4 book ai didi

c++ - 如何制作一个 QheaderView 多级?

转载 作者:搜寻专家 更新时间:2023-10-31 02:09:35 24 4
gpt4 key购买 nike

我正在创建一个应用程序来保存对象发送服务的数据。

我用 Qt 创建了它,这是一个类型为 QStandardItemModel 的模型,我想用 QtableView 显示它。

但是 QtableView 向我显示了左侧的行级别。如果可能,我想删除它或隐藏它。

我也有一个标题问题,我想水平分成两部分,然后将底部的相应部分垂直分成两部分。这些划分的原因是我有两个开头相似的标题(通信日期和通信编号)

感谢您的回复,因为这对我来说真的很重要。

enter image description here

最佳答案

这种类型的QHeaderView是不存在的,但是我们可以为它创建我们必须创建一个继承自QHeaderView的类,主要重写方法paintSection 这是负责绘制 QHeaderView 部分的方法。

但要为任何类型的视觉设计做通用项目,我们必须保留每个部分的位置和大小信息,为此我们将创建一个模型,以了解为什么覆盖类我建议您阅读内容以下 link .

解释每个方法的逻辑是广泛的,所以只放置link实现上述项目的项目,并描述每个类的任务:

  • TableHeaderItem:负责保存每一项的信息,除了标签外,主要是rowspan和columnspan。

  • GridTableHeaderModel:提供对每个项目的访问的模型类,以便我们可以编辑和读取每个项目

  • GridTableHeaderView:此类是自定义 QHeaderView,其中主要方法被覆盖以获得所需的外观。

  • GridTableView(可选):是一种具有直接与 GridTableHeaderView 一起工作的方法的 TableView。

输出:

enter image description here

注意:要隐藏垂直标题,只需使用 hide() 方法即可:

horizontalHeader()->hide();

关于c++ - 如何制作一个 QheaderView 多级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46469720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com