c – 如何制作QheaderView多级?
作者:互联网
我正在创建一个保存对象发送服务数据的应用程序.
我用Qt创建了一个Qt,这是一个QStandardItemModel类型的模型,我希望用QtableView显示它.
但是QtableView向我显示了左边的行级别.我想删除它或尽可能隐藏它.
我也有一个标题的问题,我希望水平分成两个,然后将底部的相应部分分成两个垂直.这些划分的原因是我有两个类似开头的标题(通信日期和通信号码)
感谢您的回复,因为这对我来说非常重要.
解决方法:
这种类型的QHeaderView不存在,但是我们可以为它创建它,我们必须创建一个继承自QHeaderView的类,并主要重写paintSection方法,这是负责绘制QHeaderView部分的方法.
但要为任何类型的视觉设计做通用项目,我们必须保留每个部分的位置和大小的信息,为此我们将创建一个模型,以了解为什么覆盖类我建议您阅读以下内容link.
解释每个方法的逻辑是广泛的,所以只放置实现上述项目的link并描述每个类的任务:
> TableHeaderItem:它负责保存每个项目的信息,主要是除了标签之外的rowspan和columnspan.
> GridTableHeaderModel:提供对每个项目的访问的模型类,以便我们可以编辑和读取每个项目
> GridTableHeaderView:此类是自定义QHeaderView,其中主要方法被覆盖以获得所需的外观.
> GridTableView(可选):是一个TableView,它具有直接使用GridTableHeaderView的方法.
输出:
注意:要隐藏垂直标题,只需要使用hide()方法:
horizontalHeader()->hide();
标签:c,qt,qt5,qt4,qheaderview 来源: https://codeday.me/bug/20190929/1831175.html