QT+qtablewidget自定义表头【合并单元格】
1、把下列文件放在工程中【已上传到我的文件中】

2、代码
auto *headview = new HHeadViewClass(Qt::Horizontal, ui.tableWidget);
headview->setSectionResizeMode(QHeaderView::Interactive);
headview->titleHigh = 50;
headview->setFixedHeight(50); headview->SetRowColItemText(0, 0, QStringLiteral("公里"));
headview->SetRowColItemText(1, 0, QStringLiteral("长度[m]")); headview->SetRowColItemText(2, 0, QStringLiteral("高低"));
headview->SetRowColItemText(2, 1, QStringLiteral("1"));
headview->SetRowColItemText(2, 2, QStringLiteral("2"));
headview->SetRowColItemText(2, 3, "3");
headview->SetRowColItemText(2, 4, "4"); headview->SetRowColItemText(3, 0, QStringLiteral("轨向"));
headview->SetRowColItemText(3, 1, "1");
headview->SetRowColItemText(3, 2, "2");
headview->SetRowColItemText(3, 3, "3");
headview->SetRowColItemText(3, 4, "4"); headview->SetRowColItemText(4, 0, QStringLiteral("轨距"));
headview->SetRowColItemText(4, 1, "1");
headview->SetRowColItemText(4, 2, "2");
headview->SetRowColItemText(4, 3, "3");
headview->SetRowColItemText(4, 4, "4"); headview->SetRowColItemText(5, 0, QStringLiteral("水平"));
headview->SetRowColItemText(5, 1, "1");
headview->SetRowColItemText(5, 2, "2");
headview->SetRowColItemText(5, 3, "3");
headview->SetRowColItemText(5, 4, "4"); headview->SetRowColItemText(6, 0, QStringLiteral("三角坑"));
headview->SetRowColItemText(6, 1, "1");
headview->SetRowColItemText(6, 2, "2");
headview->SetRowColItemText(6, 3, "3");
headview->SetRowColItemText(6, 4, "4"); headview->SetRowColItemText(7, 0, QStringLiteral("垂向加速度"));
headview->SetRowColItemText(7, 1, "1");
headview->SetRowColItemText(7, 2, "2");
headview->SetRowColItemText(7, 3, "3");
headview->SetRowColItemText(7, 4, "4"); headview->SetRowColItemText(8, 0, QStringLiteral("横向加速度"));
headview->SetRowColItemText(8, 1, "1");
headview->SetRowColItemText(8, 2, "2");
headview->SetRowColItemText(8, 3, "3");
headview->SetRowColItemText(8, 4, "4"); headview->SetRowColItemText(9, 0, QStringLiteral("曲率变化率"));
headview->SetRowColItemText(9, 1, "1");
headview->SetRowColItemText(9, 2, "2"); headview->SetRowColItemText(10, 0, QStringLiteral("轨距变化率"));
headview->SetRowColItemText(10, 1, "1");
headview->SetRowColItemText(10, 2, "2"); headview->SetRowColItemText(11, 0, QStringLiteral("速度")); headview->SetRowColItemText(12, 0, QStringLiteral("扣分")); ui.tableWidget->setHorizontalHeader(headview);
3、效果

注意要在ui或者代码里设置列数,否则界面全空
4、为了配合上述,给出下列QHeaderView函数,这里转:https://blog.csdn.net/psujtfc/article/details/43764559
1 . void QTableView::setColumnWidth(int column, int width) 设置某一列的列宽
2. 通过QHeaderView * QTableView::horizontalHeader() const获得QHeaderView
在调用QHeaderView里面的函数进行设置
3. QHeaderView的列宽设置函数
3.1 设置限制值
设置列宽最大值:void setMaximumSectionSize(int size)
设置列宽最小值:void setMinimumSectionSize(int size)
3.2 设置自动适应
设置某一列的自动适应模式:void QHeaderView::setSectionResizeMode(int logicalIndex, ResizeMode mode)
设置整个表头的自适应模式:void setSectionResizeMode(ResizeMode mode)
ResizeMode:
QHeaderView::Interactive:0
用户可设置,也可被程序设置成默认大小
QHeaderView::Fixed :2
用户不可更改列宽
QHeaderView::Stretch :1
根据空间,自动改变列宽,用户与程序不能改变列宽
QHeaderView::ResizeToContents:3
根据内容改变列宽,用户与程序不能改变列宽
注意:ResizeMode被设置为1,3时, void QTableView::setColumnWidth(int column, int width)的效果不会被执行,即不能定义某一列的列宽
QT+qtablewidget自定义表头【合并单元格】的更多相关文章
- Datatables js 复杂表头 合并单元格
x →Datatables官网← x 项目中用到的Table都是用Datatables插件来搞得: 以前都是生成一般性的table: 近期要生成一些复杂表头,合并单元格之类的: 研究了一下. x 去官 ...
- layui table+复杂表头+合并单元格
效果图: 问题:行hover效果感觉错乱 所以改为透明色 代码: <!DOCTYPE html> <html lang="en"> <head> ...
- 带复杂表头合并单元格的HtmlTable转换成DataTable并导出Excel
步骤: 一.前台JS取HtmlTable数据,根据设定的分隔符把数据拼接起来 <!--导出Excel--> <script type="text/javascript&qu ...
- PHPEXCEL xls模板导入,及格式自定义:合并单元格、加粗、居中等操作
PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls ...
- Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等
目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...
- Qt高仿Excel表格组件-支持冻结列、冻结行、内容自适应和合并单元格
目录 一.概述 二.效果展示 三.实现思路 1.冻结行.冻结列 2.行高自适应 3.蚂蚁线 四.测试代码 1.添加表格数据 2.设置冻结行.列 3.行高.列宽 4.单元格背景色 5.单元格文字 6.其 ...
- NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析
我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ @ ...
- EXCEL合并单元格快捷键暨WORD+EXCEL自定义快捷键
最近在写测试用例时,用到合并单元格,只能点,没有快捷键,觉得很蛋疼,上网找了一下,没有直接设置其对应快捷键的方法,但有种曲线救国的方法: 一.右击功能区,选择‘自定义快速访问工具栏’ 二.可以在这 ...
随机推荐
- LeetCode——Find Minimum in Rotated Sorted Array
Description: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 ...
- 【BZOJ3631】松鼠的新家 树链剖分
BZOJ3631 松鼠的新家 Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他 ...
- Malformed \uxxxx encoding
今天碰到个问题. FATAL [btir.server.ServerStartup:54] - <java.lang.IllegalArgumentException: Malformed \u ...
- Thinkphp自定义工具类的使用!
在使用Thinkphp做开发的时候,很多时候会用到一些自己写的类,为了方便管理,可以把这些类,单独放到一个文件里. 这就是自定义工具类: 首先在 Application 目录下新建 Component ...
- 神奇的随机数rand()
随机数在统计理论中占有很重要的地位,很多应用都需要用到他,系统自带的rand()函数产生的是伪随机数,所以该如何真正的随机数呢? 1.c语言中的时间函数 关于c语言我查到的两个比较好的博文是:http ...
- 善用缓存提高你的Spring工程效率
欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...
- 170721、springboot编程之注解(annotation)列表
(1)@SpringBootApplication 申明让spring boot自动给程序进行必要的配置,这个配置等同于: @Configuration ,@EnableAutoConfigurati ...
- html lang="zh-cn"解决Mac版Firefox中文字体显示问题
这两天在Mac下被Firefox的中文字体显示问题所困扰.在Firefox中将Sans-serif字体设置为SimSun-ExtB(新宋体)或英文字体(这时会用Mac默认中文字体),如下图: 浏览园子 ...
- Dubbo学习记录
参考资料: 官网 Dubbo详细介绍与安装使用过程
- 您好,前端使用https,后端使用https是会有冲突的情况,所以默认后端都是http 负载均衡即可管理证书,不需要在后端ECS上绑定证书。
您前端使用https,那么前端就是加密的,后端使用https就是会访问出现问题的,目前阿里云负载均衡默认的配置前端使用https,后端默认就是http,也是无法更改的. 前端使用https,目前只有一 ...