关于QTableWidget中单元格的合并
无意中发现了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中单元格的合并相关推荐
- table表格中单元格的合并
目录 table表格中单元格的合并 table表格中单元格的合并很多朋友不一定了解,今天我就写一篇博客来跟大家分享一下table表格中的跨行合并和跨列合并. 我们先看一个合并过的表格,大家可以先思考一 ...
- Excel VBA中单元格的合并与拆分
对于合并单元格这里提供"从上到下"和"从下到上"合并单元格两种方式,"从上到下"的方法需要记录当前列有多少个相同的单元格和判断相应的单元格是 ...
- HTML中表格标签<table><tr><tb><th>中单元格的合并问题
前情知晓 层级关系如下: <table><tr><td> </td><th> </th></tr></tabl ...
- html表格中单元格的合并
一:合并单元格步骤 第一步:先确认是行合并(rowspan)还是列合并(colspan). 第二步:找出需要合并的单元格. 第三步:如果被合并的单元格内有内容,则把被合并的单元格删除掉. (一)行合并 ...
- 如何将Excel多行单元格文字合并到一个单元格中
如何将Excel多行单元格文字合并到一个单元格中 参考网址:https://jingyan.baidu.com/article/ed15cb1b28042c5ae369819f.html 1.打开需要 ...
- python合并word表格单元格_合并Word 表格中单元格
//合并Word 表格中单元格 procedure mergeWordCell; var WordApp: TWordApplication; WordDoc: TWordDocument; DocI ...
- Aspose.Words for .NET使用表格教程之水平和垂直合并表格中单元格
Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsof ...
- EXCEL中将多个单元格内容合并到一个单元格中的方法(转帖+亲自实践)
原帖位置:EXCEL中将多个单元格内容合并到一个单元格中的方法 http://t.excelhome.net/thread-3875-1-1.html 说明:这个技巧主要用到以下2个功能 1.Offi ...
- 实现前台表格中相同数据单元格的合并
前些天接到组长分配的任务,让我这个小菜鸟实现单元格的合并.刚开始觉得很复杂,可是仔细思考过后其实还是很简单的,下面就和大家分享一下自己每次的方法和存在的缺点以及如何修改和最终的成品,希望能够对大家有些 ...
最新文章
- axmath公式编辑器
- 汇编语言将数据、代码、栈放入不同段基础
- 在Visual Studio 2010 里使用Nunit 进行Debug 测试
- toad dba suite for oracle 12,Toad DBA Suite 和Toad Development Suite的区别
- Amazon SQS 消息队列服务
- Spring解决bean之间的循环依赖(循环引用)
- PannerNode
- 【图像处理】彩色图像处理(Color Image Processing)
- Git:如何在本地没有分支时,切换分支
- 使用Kotlin的Android ProgressBar
- showdialog url访问页面_URL的优化方法
- C语言:求1到100之间的所有素数,并设定每行输出5个素数
- dubbo入门级梳理
- 写jsx_使用Vue 3.0做JSX(TSX)风格的组件开发
- ubuntu install wiznote
- Android Studio实现中华字典APP
- donet使用linq
- 1234的平方根用计算机怎么算,平方根计算
- iOS 开发中出现假死解决思路
- 技术能力和工作能力的联系和区别