其他分享
首页 > 其他分享> > c – 如何制作QheaderView多级?

c – 如何制作QheaderView多级?

作者:互联网

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

我用Qt创建了一个Qt,这是一个QStandardItemModel类型的模型,我希望用QtableView显示它.

但是QtableView向我显示了左边的行级别.我想删除它或尽可能隐藏它.

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

感谢您的回复,因为这对我来说非常重要.

enter image description here

解决方法:

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

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

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

> TableHeaderItem:它负责保存每个项目的信息,主要是除了标签之外的rowspan和columnspan.
> GridTableHeaderModel:提供对每个项目的访问的模型类,以便我们可以编辑和读取每个项目
> GridTableHeaderView:此类是自定义QHeaderView,其中主要方法被覆盖以获得所需的外观.
> GridTableView(可选):是一个TableView,它具有直接使用GridTableHeaderView的方法.

输出:

enter image description here

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

horizontalHeader()->hide();

标签:c,qt,qt5,qt4,qheaderview
来源: https://codeday.me/bug/20190929/1831175.html