1、把下列文件放在工程中【已上传到我的文件中】

2、代码

  1.      auto *headview = new HHeadViewClass(Qt::Horizontal, ui.tableWidget);
  2. headview->setSectionResizeMode(QHeaderView::Interactive);
  3. headview->titleHigh = 50;
  4. headview->setFixedHeight(50);
  5.  
  6. headview->SetRowColItemText(0, 0, QStringLiteral("公里"));
  7. headview->SetRowColItemText(1, 0, QStringLiteral("长度[m]"));
  8.  
  9. headview->SetRowColItemText(2, 0, QStringLiteral("高低"));
  10. headview->SetRowColItemText(2, 1, QStringLiteral("1"));
  11. headview->SetRowColItemText(2, 2, QStringLiteral("2"));
  12. headview->SetRowColItemText(2, 3, "3");
  13. headview->SetRowColItemText(2, 4, "4");
  14.  
  15. headview->SetRowColItemText(3, 0, QStringLiteral("轨向"));
  16. headview->SetRowColItemText(3, 1, "1");
  17. headview->SetRowColItemText(3, 2, "2");
  18. headview->SetRowColItemText(3, 3, "3");
  19. headview->SetRowColItemText(3, 4, "4");
  20.  
  21. headview->SetRowColItemText(4, 0, QStringLiteral("轨距"));
  22. headview->SetRowColItemText(4, 1, "1");
  23. headview->SetRowColItemText(4, 2, "2");
  24. headview->SetRowColItemText(4, 3, "3");
  25. headview->SetRowColItemText(4, 4, "4");
  26.  
  27. headview->SetRowColItemText(5, 0, QStringLiteral("水平"));
  28. headview->SetRowColItemText(5, 1, "1");
  29. headview->SetRowColItemText(5, 2, "2");
  30. headview->SetRowColItemText(5, 3, "3");
  31. headview->SetRowColItemText(5, 4, "4");
  32.  
  33. headview->SetRowColItemText(6, 0, QStringLiteral("三角坑"));
  34. headview->SetRowColItemText(6, 1, "1");
  35. headview->SetRowColItemText(6, 2, "2");
  36. headview->SetRowColItemText(6, 3, "3");
  37. headview->SetRowColItemText(6, 4, "4");
  38.  
  39. headview->SetRowColItemText(7, 0, QStringLiteral("垂向加速度"));
  40. headview->SetRowColItemText(7, 1, "1");
  41. headview->SetRowColItemText(7, 2, "2");
  42. headview->SetRowColItemText(7, 3, "3");
  43. headview->SetRowColItemText(7, 4, "4");
  44.  
  45. headview->SetRowColItemText(8, 0, QStringLiteral("横向加速度"));
  46. headview->SetRowColItemText(8, 1, "1");
  47. headview->SetRowColItemText(8, 2, "2");
  48. headview->SetRowColItemText(8, 3, "3");
  49. headview->SetRowColItemText(8, 4, "4");
  50.  
  51. headview->SetRowColItemText(9, 0, QStringLiteral("曲率变化率"));
  52. headview->SetRowColItemText(9, 1, "1");
  53. headview->SetRowColItemText(9, 2, "2");
  54.  
  55. headview->SetRowColItemText(10, 0, QStringLiteral("轨距变化率"));
  56. headview->SetRowColItemText(10, 1, "1");
  57. headview->SetRowColItemText(10, 2, "2");
  58.  
  59. headview->SetRowColItemText(11, 0, QStringLiteral("速度"));
  60.  
  61. headview->SetRowColItemText(12, 0, QStringLiteral("扣分"));
  62.  
  63. 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自定义表头【合并单元格】的更多相关文章

  1. Datatables js 复杂表头 合并单元格

    x →Datatables官网← x 项目中用到的Table都是用Datatables插件来搞得: 以前都是生成一般性的table: 近期要生成一些复杂表头,合并单元格之类的: 研究了一下. x 去官 ...

  2. layui table+复杂表头+合并单元格

    效果图: 问题:行hover效果感觉错乱  所以改为透明色 代码: <!DOCTYPE html> <html lang="en"> <head> ...

  3. 带复杂表头合并单元格的HtmlTable转换成DataTable并导出Excel

    步骤: 一.前台JS取HtmlTable数据,根据设定的分隔符把数据拼接起来 <!--导出Excel--> <script type="text/javascript&qu ...

  4. PHPEXCEL xls模板导入,及格式自定义:合并单元格、加粗、居中等操作

    PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls ...

  5. Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等

    目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...

  6. Qt高仿Excel表格组件-支持冻结列、冻结行、内容自适应和合并单元格

    目录 一.概述 二.效果展示 三.实现思路 1.冻结行.冻结列 2.行高自适应 3.蚂蚁线 四.测试代码 1.添加表格数据 2.设置冻结行.列 3.行高.列宽 4.单元格背景色 5.单元格文字 6.其 ...

  7. NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析

    我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...

  8. poi导出Excel报表多表头双层表头、合并单元格

    效果图: controller层方法: /**     *      * 导出Excel报表     * @param request     * @return     *      */    @ ...

  9. EXCEL合并单元格快捷键暨WORD+EXCEL自定义快捷键

    最近在写测试用例时,用到合并单元格,只能点,没有快捷键,觉得很蛋疼,上网找了一下,没有直接设置其对应快捷键的方法,但有种曲线救国的方法: 一.右击功能区,选择‘自定义快速访问工具栏’   二.可以在这 ...

随机推荐

  1. vue-学习笔记(更新中...)

    vue学习笔记 2017-08-23  11:10:28 Vue实例: var vm = new Vue({ // 选项 }) 实例化Vue.Vue实例,构造函数Vue.创建一个Vue的根实例,Vue ...

  2. 在ubuntu14.04上漏洞环境vulndocker的DOCKER搭建

    一.下载git包以及安装: git clone https://github.com/leveryd/vulndocker.git cd vulndocker apt-get install uwsg ...

  3. 【BZOJ3518】点组计数 欧拉函数

    [BZOJ3518]点组计数 Description 平面上摆放着一个n*m的点阵(下图所示是一个3*4的点阵).Curimit想知道有多少三点组(a,b,c)满足以a,b,c三点共线.这里a,b,c ...

  4. 【BZOJ4278】[ONTAK2015]Tasowanie 后缀数组

    [BZOJ4278][ONTAK2015]Tasowanie Description 给定两个数字串A和B,通过将A和B进行二路归并得到一个新的数字串T,请找到字典序最小的T. Input 第一行包含 ...

  5. Object 对象有哪些方法?

    这个不看还真不一定能说全,请养成良好的阅读源码和JDK文档的习惯. 总结一下:一共11个,wait的3个+notify的2个,hashCode和equals还有toString共3个,然后clone和 ...

  6. could not execute menu item系统找不到指定的文件

    Wamp3.0.6 64bit,系统任务栏图标,左键,Apache菜单,httpd.conf,报错“could not execute menu item.....系统找不到指定的文件” 根据网上的搜 ...

  7. 每次收到的 HTTP 请求,就可以打开一个 SqlSession,返回一个响应,就关闭它

    mybatis – MyBatis 3 | 入门 http://www.mybatis.org/mybatis-3/zh/getting-started.html 作用域(Scope)和生命周期 理解 ...

  8. Jscript运行时错误:没有权限

    问题:我在页面A中放了一个iframe ,然后在iframe 的子页面中调用主页面中的JavaScript函数,结果报错Jscript运行时错误:没有权限 原因有2: 1. 是逻辑错误,比如先关闭了i ...

  9. 【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符

    1.问题描述 最近在负责公司基础业务和移动基础设施的开发工作,正在负责Lint代码静态检查工作.因此编写了自定义的Lint规则,在调试过程中,编译的时候出现了如下所示的错误: 部分输出日志如下所示: ...

  10. 【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?

    loadrunner录制脚本时候有事件但是一直白页怎么办? 解决办法:依次进行下方1.2.方法操作,如果还不行再进行3的操作. 1.勾选下图IE浏览器的Internet选项中“启用第三方浏览器拓展*” ...