Qt中表格属性相关操作,调整表格宽度高度自适应内容等

1 表格列宽设置

利用Qt designer设计,可以通过改变表头的列宽从而保证内容不会被遮盖,输入空格的方式增加表头的长度,比如表头为"Value",则改成"Value ",可以扩展列默认的宽度,保证后面添加的数据不会遮盖了。

2 表头颜色

在样式表中设置,双击编辑表头内容时,属性可设置字体颜色,但是无法设置背景色,QTableWidget没有设置表头背景色的函数,通过Qss样式设置。但是这样就没法设置背景颜色。在setStyleSheet内容中设置

javascript 复制代码
QHeaderView::section {background-color:#E8F0F5;}

而且预览方式无法看见效果,需要运行整个工程文件,因为背景代码是在其他文件运行的。

3 选中行为

可以设置点击选中整行SelectRows ,也可以只选中当前单元格SelectItem ,选中整列SelectColumns

4 行高列宽设置

javascript 复制代码
ui->tabGGA->resizeColumnsToContents(); // 这样设置后,表格不会遮盖过长的文字
ui->tabGGA->resizeRowsToContents();  // 根据内容设置所有行高

//需要设置每个单元格,注意,需要单元格填充了内容才可以设置
ui->tableWidget->item(0,2)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
/* 设置全部为空字符,然后设置居中格式 */

5 表格宽高自适应缩放

设置表格的宽度和高度与布局自适应调整,行列等宽高。

javascript 复制代码
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);

6 所有表格插入相同内容的方式

cpp 复制代码
for (auto i=0;i<4;i++)
    ui->tabMEAS->setItem(i,2,new QTableWidgetItem(QString::number(tag)));

如果改成循环如下,则会报错**-QTableWidget: cannot insert an item that is already owned by another QTableWidget-**

cpp 复制代码
QTableWidgetItem *stag = new QTableWidgetItem(QString::number(tag));
for (auto i=0;i<4;i++)
    ui->tabMEAS->setItem(i,2,stag);
相关推荐
nzz_1712144 小时前
PHP程序员转型AI岗位指南:核心技能、北京就业市场与转型路径分析
开发语言·人工智能·php
Risehuxyc4 小时前
C# 将doc转换为docx
开发语言·c#·xhtml
多加点辣也没关系5 小时前
JavaScript|第24章:事件循环与并发模型
开发语言·javascript·ecmascript
ん贤6 小时前
怎么设计,才算一个优秀审计模块
大数据·开发语言·设计·审计
l1t6 小时前
测试用rust重写的postgresql: pgrust
开发语言·postgresql·rust
2501_948106916 小时前
计算机毕业设计之jsp-智慧旅游分享平台
java·开发语言·spark·汽车·课程设计·旅游
阿里云云原生6 小时前
Agent 不再是“玩具”!AgentScope Java 2.0 GA 发布:构建企业级分布式智能体底座
java·开发语言·分布式·agentscope
BIM云平台开发6 小时前
【App.vue里跟踪页面跳转和用户ID】
开发语言·前端·javascript
NiceCloud喜云6 小时前
ClaudeAPI 接入 n8n / Dify / Open WebUI 实战:Base URL 配置、调用示例与排错
开发语言·ai·chatgpt·aigc
庵中十三居士6 小时前
【纯AI无人工修改】AI Agent从0到1实战:50行Python手写核心循环,一次看懂所有Agent框架的底层逻辑
开发语言·人工智能·python