ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

QT--QTableWidget

2022-01-24 17:58:27  阅读:241  来源: 互联网

标签:tableInfo 单元格 QT -- QTableWidget item QTableWidgetItem ui 设置


本文为学习记录,若有错误,请联系作者,谦虚受教。

文章目录


前言

满地都是六便士,她却抬头看见了月亮。


一、QTableWidget是什么?

QTableWidget 是 Qt 中的表格组件类。在窗体上放置一个 QTableWidget 组件后,可以在 Property Editor 里对其进行属性设置,双击这个组件,可以打开一个编辑器,对其 Colum、Row 和 Item 进行编辑。
(简单来说,就是直接在UI界面上对TableWidget进行操作,无需通过代码即可设置行头列同等)

QTableWidget 表格中,每一个单元格是一个 QTable Widgetltem 对象,可以设置文字内容、字体、前景色、背景色、图标,也可以设置编辑和显示标记。每个单元格还可以存储一个 QVariant 数据,用于设置用户自定义数据。

新建一个QTable Widgetltem对象,就可以对每一个单元格内容/颜色/字体等进行操作。
例如:
*QTableWidgetItem item = new QTableWidgetItem(Str_Co2);
对新建的 Item对象进行操作,添加Str_Co2字符串。
this->ui->tableInfo->setItem(i-10,0,item);

QTableWidgetItem 有一些函数对单元格进行属性设置,如下:
setTextAlignment (int alignment):设置文字对齐方式。
(item->setTextAlignment(Qt::AlignCenter);)
setBackground(const QBrush &brush):设置单元格背景颜色。
setForeground(const QBrush &brush):设置单元格前景色。
setIcon(const QIcon &icon):为单元格设置一个显不图标。
setFont(const QFont &font):为单元格显示文字设置字体。
setCheckState(Qt::CheckState state):设置单元格勾选状态,单元格里出现一个QCheckBox组件。
setFlags(Qt::ItemFlags flags):设置单元格的一些属性标记。

二、基本操作

设置表头:
QTableWidgetItem *headerItem;
headerItem=new QTableWidgetItem(headerText.at(i));
//新建一个QTableWidgetItem, headerText.at(i)获取headerText的i行字符串
QFont font=headerItem->font();//获取原有字体设置
font.setBold(true);//设置为粗体
font.setPointSize(12);//字体大小
headerItem->setTextColor(Qt::red);//字体颜色
headerItem->setFont(font);//设置字体
ui->tableInfo->setHorizontalHeaderItem(i,headerItem); //设置表头单元格的Item
初始化数据:
int Rows=ui->tableInfo->rowCount(); //数据区行数,
for (int i=0;i<Rows;i++) //数据区第1行的编号为0,所以范围是0~rowCount()-1
{
strName=QString::asprintf(“学生%d”,i); //学生姓名
this->ui->tableInfo->setItem(i-10,0,item);//行、列、数据对象
if ((i % 2)==0) //分奇数,偶数行设置性别,及其图标
strSex=“男”;
else
strSex=“女”;
}
清除列表:
ui->tableInfo->clearContents();//只清除工作区,不清除表头

三、简单例子

 //列表
QString Str_Co2=ui->text->text();
int i=ui->tableInfo->rowCount();//列表行数  。columnCount()列表列数
QTableWidgetItem *item = new QTableWidgetItem(Str_Co2);
QTableWidgetItem *PPM=new QTableWidgetItem("PPM");
item->setFont(QFont("Helvetica"));
item->setTextAlignment(Qt::AlignCenter);//居中item->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); //文本对齐格式
PPM->setTextAlignment(Qt::AlignCenter);
this->ui->tableInfo->setItem(i-10,0,item);//行、列,数据static_cast<int>(i)
this->ui->tableInfo->setItem(i-10,4,PPM);
ui->tableInfo->setRowCount(i+1);//增加行数

执行效果如图所示:

当在特定的列表位置写入数据时,需要定位列表位置,列表位置如同二维坐标位置。
例如:this->ui->tableInfo->setItem(0,0,item)在0行0列上填充item数据。

总结

善于总结,多进一步。

标签:tableInfo,单元格,QT,--,QTableWidget,item,QTableWidgetItem,ui,设置
来源: https://blog.csdn.net/m0_51988927/article/details/122671564

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有