无意中发现了Qt中QTableWidget可以实现单元格的合并,函数为setSpan,函数原型如下:

void QTableView::setSpan(int row, int column, int rowSpanCount, int columnSpanCount)

参数为:行数、列数、需要合并的行总数、需要合并的列总数。

写了一个测试函数,代码如下:

MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);ui->tableWidget->setRowCount(10);ui->tableWidget->setColumnCount(10);for (int i(0); i<10; ++i){for (int j(0); j<10; ++j){QTableWidgetItem *pItem = new QTableWidgetItem;pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter)ui->tableWidget->setItem(i, j, pItem);}}int column[]{0, 3, 6, 8};int rowCount = ui->tableWidget->rowCount();int col = sizeof(column)/sizeof(column[0]);for (int i(0); i<rowCount; i += 3){for (int j(0); j<col; ++j){ui->tableWidget->setSpan(i, column[j], 3, 1);}}ui->tableWidget->item(0, 0)->setText("(1,1)");ui->tableWidget->item(1, 0)->setText("(2,1)");ui->tableWidget->item(2, 0)->setText("(3,1)");ui->tableWidget->item(3, 0)->setText("(4,1)");
}

显示结果如下:

作为测试,我特意在代码中加入了几行用于显示坐标的代码,由结果可见,合并之后的单元格,只有初始的那一个才能正常显示,其他的都已经不能显示了

被合并的单元格的索引都指向第一个单元格。

鉴于此,我又加了几条测试信息:

    qDebug() << ui->tableWidget->item(0, 0);qDebug() << ui->tableWidget->item(1, 0);qDebug() << ui->tableWidget->item(2, 0);qDebug() << ui->tableWidget->item(3, 0);

打印输出如下:

然后我又加了几条测试语句:

    qDebug() << ui->tableWidget->item(0, 0)->text();qDebug() << ui->tableWidget->item(1, 0)->text();qDebug() << ui->tableWidget->item(2, 0)->text();qDebug() << ui->tableWidget->item(3, 0)->text();

打印结果如下:

由此可见,这几个item还是存在的,并且文字也是有的,而且是当时设置的那个,只不过是不显示了

然后,我将其中(0,0)坐标的单元格恢复合并之前的状态,代码如下:

ui->tableWidget->setSpan(0, 0, 1, 1);

显示结果如下:

由上面的演示结果可以看出,这个setSpan函数,仅仅是将某个(些)单元格的显示范围变大,对于合并范围之内的其他单元格仅仅是隐藏掉罢了,并没有删除任何原先存在的单元格

关于QTableWidget中单元格的合并相关推荐

  1. table表格中单元格的合并

    目录 table表格中单元格的合并 table表格中单元格的合并很多朋友不一定了解,今天我就写一篇博客来跟大家分享一下table表格中的跨行合并和跨列合并. 我们先看一个合并过的表格,大家可以先思考一 ...

  2. Excel VBA中单元格的合并与拆分

    对于合并单元格这里提供"从上到下"和"从下到上"合并单元格两种方式,"从上到下"的方法需要记录当前列有多少个相同的单元格和判断相应的单元格是 ...

  3. HTML中表格标签<table><tr><tb><th>中单元格的合并问题

    前情知晓 层级关系如下: <table><tr><td> </td><th> </th></tr></tabl ...

  4. html表格中单元格的合并

    一:合并单元格步骤 第一步:先确认是行合并(rowspan)还是列合并(colspan). 第二步:找出需要合并的单元格. 第三步:如果被合并的单元格内有内容,则把被合并的单元格删除掉. (一)行合并 ...

  5. 如何将Excel多行单元格文字合并到一个单元格中

    如何将Excel多行单元格文字合并到一个单元格中 参考网址:https://jingyan.baidu.com/article/ed15cb1b28042c5ae369819f.html 1.打开需要 ...

  6. python合并word表格单元格_合并Word 表格中单元格

    //合并Word 表格中单元格 procedure mergeWordCell; var WordApp: TWordApplication; WordDoc: TWordDocument; DocI ...

  7. Aspose.Words for .NET使用表格教程之水平和垂直合并表格中单元格

    Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsof ...

  8. EXCEL中将多个单元格内容合并到一个单元格中的方法(转帖+亲自实践)

    原帖位置:EXCEL中将多个单元格内容合并到一个单元格中的方法 http://t.excelhome.net/thread-3875-1-1.html 说明:这个技巧主要用到以下2个功能 1.Offi ...

  9. 实现前台表格中相同数据单元格的合并

    前些天接到组长分配的任务,让我这个小菜鸟实现单元格的合并.刚开始觉得很复杂,可是仔细思考过后其实还是很简单的,下面就和大家分享一下自己每次的方法和存在的缺点以及如何修改和最终的成品,希望能够对大家有些 ...

最新文章

  1. axmath公式编辑器
  2. 汇编语言将数据、代码、栈放入不同段基础
  3. 在Visual Studio 2010 里使用Nunit 进行Debug 测试
  4. toad dba suite for oracle 12,Toad DBA Suite 和Toad Development Suite的区别
  5. Amazon SQS 消息队列服务
  6. Spring解决bean之间的循环依赖(循环引用)
  7. PannerNode
  8. 【图像处理】彩色图像处理(Color Image Processing)
  9. Git:如何在本地没有分支时,切换分支
  10. 使用Kotlin的Android ProgressBar
  11. showdialog url访问页面_URL的优化方法
  12. C语言:求1到100之间的所有素数,并设定每行输出5个素数
  13. dubbo入门级梳理
  14. 写jsx_使用Vue 3.0做JSX(TSX)风格的组件开发
  15. ubuntu install wiznote
  16. Android Studio实现中华字典APP
  17. donet使用linq
  18. 1234的平方根用计算机怎么算,平方根计算
  19. iOS 开发中出现假死解决思路
  20. 技术能力和工作能力的联系和区别

热门文章

  1. 6-26 统计专业人数 (15分)
  2. 计算机网络和http权威指南 读书笔记
  3. 软件项目管理——谈谈软件定价
  4. Lua 5.4.4函数、模块注册
  5. matlab nan 无色_MATLAB中出现NAN怎么回事
  6. 一站式SCI投稿大全(感谢pennhmp116版主的整理)
  7. 电商用户行为预测数据初探
  8. java框架2019_Java回顾#2 – 2019年最佳工具,框架和功能
  9. 老牌系统:雨一直下win7主题
  10. 电视剧植入式广告的植入方式有哪些