当前位置: 首页 > news >正文

Qt常用基础控件总结—表格控件(QTableWidget类)

表格控件QTableWidget

表格控件最上面一排是只读的水平表头,最左边一列是只读的垂直表头。表头又可以细分为多个分段(section),水平表头的分段就是表格各个列的列首,垂直表头 分段就是表格各个行的行首。表格控件的实体区域是按行、列排布的单元格,单元格内容一般用 QTableWidgetItem 条目填充,单元格如果不填充任何东西,那么默认是 NULL。

表格控件的有很多名字相似的两套函数或信号,比如设置当前高亮单元格函数 setCurrentCell(int row, int column) 和设置当前高亮条目 setCurrentItem(QTableWidgetItem * item),这两个函数名字很类似,二者最主要的区别就是:名字带 Cell 的函数是基于单元格的,对 NULL 空单元格也可以使用;而名字带 Item 的函数,必须是填充了实体条目的单元格,针对实际存在的单元格条目操作

表格控件因为设置单元格必须同时知道行号、列号,所以没有 Add和 Insert之类的添加函数,表格只有如下设置条目函数

制作表格控件步骤
1)设置表格行数,列数(如果没有设置,表格数据不会显示)

2)根据设计需要设置水平表头、垂直表头标签

3)设置表格数据(基于QTableWidgetItem类设置表格数据)

4)与表格交互

5)根据需要设置表格样式,这一步骤在以上过程中穿插进行

常用函数如下:

初始化表格控件

初始化表格控件,设置表格行数/列数/表头等参数

QTableWidget(QWidget * parent = 0);
QTableWidget(int rows, int columns, QWidget * parent = 0);//构造函数,构造表格控件,指定表格行和列

void setRowCount(int rows) //设置行数

void setColumnCount(int columns) //设置列数

int rowCount() const //获取行数

int columnCount() const //获取列数

void QTableView::setColumnWidth(int column, int width);//设置指定列的宽度

void QTableView::setRowHeight(int row, int height);//设置指定行的行高

void QTableWidget::setHorizontalHeaderLabels(const QStringList &labels);//设置水平表头

设置水平表头举例如下:

QStringList headerList;
headerList << QString::fromLocal8Bit("学号")<< QString::fromLocal8Bit("姓名")<< QString::fromLocal8Bit("语文")<< QString::fromLocal8Bit("数学")<< QString::fromLocal8Bit("英语") ;ui->tableWidget->setColumnCount(headerList.size());
ui->tableWidget->setHorizontalHeaderLabels(headerList);

void QHeaderView::setSectionResizeMode(ResizeMode mode);//设置表头尺寸模式
void QHeaderView::setSectionResizeMode(int logicalIndex, ResizeMode mode);//指定索引表头的尺寸模式
ResizeMode模式有以下几种:

  • Interactive:交互模式,通过鼠标拖拽表格中间的分割线调整表格宽度,默认设置
  • Stretch:使每一列都相等,并占满表格宽度
  • Fixed:这个模式一般与其他属性一起设置,比如手动设置列的宽度,设置最后一列自动拉伸
  • ResizeToContents:列的宽度会根据列标题文字的宽度自动设置
  • Custom = Fixed
    以上列宽模式也可以混合使用,如已经设置了Stretch模式,但是觉得某一列宽度不合适,可以按照如下方式进行设置:
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(

相关文章:

Qt常用基础控件总结—表格控件(QTableWidget类)

表格控件QTableWidget 表格控件最上面一排是只读的水平表头,最左边一列是只读的垂直表头。表头又可以细分为多个分段(section),水平表头的分段就是表格各个列的列首,垂直表头 分段就是表格各个行的行首。表格控件的实体区域是按行、列排布的单元格,单元格内容一般用 QTa…...

笔记:Entity Framework Core 数据库迁移add-migration

一、目的&#xff1a; 数据库迁移是一种管理数据库架构变化的技术&#xff0c;它允许开发者在应用程序的生命周期中安全地更新数据库架构&#xff0c;而不会丢失数据或破坏现有的数据库结构。在Entity Framework Core&#xff08;EF Core&#xff09;中&#xff0c;数据库迁移特…...

准备工作+1、请求和响应+2、模型和管理站点

Django快速入门——创建一个基本的投票应用程序 准备工作1、创建虚拟环境2、安装django 1、请求和响应&#xff08;1&#xff09;创建项目&#xff08;2&#xff09;用于开发的简易服务器&#xff08;3&#xff09;创建投票应用&#xff08;4&#xff09;编写第一个视图1、编写…...

js 格式化时间

方法一&#xff1a;使用toLocaleString或toLocaleDateString/toLocaleTimeString Date对象提供了toLocaleString()、toLocaleDateString()和toLocaleTimeString()方法&#xff0c;这些方法允许你根据本地时间格式来显示日期和时间。虽然它们不直接提供高度自定义的格式选项&am…...

python 缩放照片

pip install Pillow from PIL import Image 打开一个图片文件 img Image.open(r"C:\Users\Administrator\Desktop\我的证件\证件照.jpg") 设定新的尺寸 new_size (480, 640) 缩放图片 resized_img img.resize(new_size) 显示缩放后的图片 resized_img.sh…...

【C语言】指针(1):入门理解(课堂随笔)

目录 一、内存和地址 二、指针变量和地址 三、指针变量类型的意义 一、内存和地址 只要讲指针就离不开内存 因为指针就是访问内存的 计算上CPU&#xff08;中央处理器&#xff09;在处理数据的时候&#xff0c;需要的数据是在内存中读取的&#xff0c;处理后的数 据也会放…...

LLMs可以进行任务规划吗?如果不行,LLMs+GNN可以吗?

深度图学习与大模型LLM(小编): 大家好,今天向大家介绍一篇最新发布的研究论文&#xff08;20240530&#xff09;。这篇论文探讨了如何通过引入GNN来提高大模型在任务规划(task planning)中的性能。*论文分析了LLMs在任务规划上的局限性,并提出了一种简单而有效的解决方案。* 1.…...

性价比高充电宝有哪些?充电宝十大最佳品牌大盘点!

在如今这个高度数字化的时代&#xff0c;我们的生活离不开各种电子设备&#xff0c;而充电宝作为保障电子设备续航的重要工具&#xff0c;其地位日益凸显。然而&#xff0c;面对市场上琳琅满目的充电宝品牌和产品&#xff0c;要挑选到一款性价比高的充电宝并非易事。在这篇盘点…...

hnust 1963: 邻接矩阵表示法

hnust 1963: 邻接矩阵表示法 题目描述 输入一个图&#xff0c;用邻接矩阵存储&#xff0c;并实现一些操作。 拷贝下面的代码&#xff0c;按要求完成其中的FirstAdjVex&#xff0c;NextAdjVex和CreateUDG操作&#xff0c;其他地方不得改动。 //邻接矩阵表示图 #include <io…...

Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测

章节内容 上一节我们完成了&#xff1a; Hive中数据导出&#xff1a;HDFSHQL操作上传内容至Hive、增删改查等操作 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&am…...

215.Mit6.S081-实验三-page tables

在本实验室中&#xff0c;您将探索页表并对其进行修改&#xff0c;以简化将数据从用户空间复制到内核空间的函数。 一、实验准备 开始编码之前&#xff0c;请阅读xv6手册的第3章和相关文件&#xff1a; kernel/memlayout.h&#xff0c;它捕获了内存的布局。kernel/vm.c&…...

flask使用定时任务flask_apscheduler(APScheduler)

Flask-APScheduler描述: Flask-APScheduler 是一个 Flask 扩展&#xff0c;增加了对 APScheduler 的支持。 APScheduler 有三个内置的调度系统可供您使用&#xff1a; Cron 式调度&#xff08;可选开始/结束时间&#xff09; 基于间隔的执行&#xff08;以偶数间隔运行作业…...

ApiFox或postman怎么用params类型传输json或集合+json的String类型

你是否碰见过这样的接口? post请求然后传输的参数都要和查询时一样以param形式传参数,那String什么的都好说,传就直接进后台了,那json呢,集合呢,是不是直接给你返400呢. 1.传json如何处理 那我们看看怎么实现,如果你要传json数据,那需要将特殊字符转义,也叫url转码,否则传不…...

数据结构第16节 最大堆

最大堆是一种特殊的完全二叉树数据结构&#xff0c;其中每个父节点的键值都大于或等于其子节点的键值。在Java中&#xff0c;最大堆通常用于实现优先队列&#xff0c;堆排序算法&#xff0c;或者在需要快速访问最大元素的应用场景中。 让我们通过一个具体的案例来说明最大堆的…...

显卡、显卡驱动、cuda、cuDNN之间关系

显卡、显卡驱动、CUDA 和 cuDNN 是构成高性能计算和深度学习环境的关键组件&#xff0c;它们之间有着紧密的联系。下面是对这些组件及其关系的详细介绍&#xff1a; 显卡&#xff08;GPU&#xff09; 显卡&#xff0c;全称为图形处理器&#xff08;Graphics Processing Unit&…...

Rewrk一个更现代的http框架基准测试实用程序

Rewrk一个更现代的http框架基准测试实用程序。HTTP基准测试&#xff08;HTTP benchmarking&#xff09;是一种测量和评估HTTP服务器或应用程序性能指标的活动。其目的是在特定条件下模拟大量用户请求&#xff0c;以测量服务器或应用程序的响应能力、吞吐量、延迟等指标&#xf…...

【算法】排序算法介绍 附带C#和Python实现代码

1. 冒泡排序(Bubble Sort) 2. 选择排序(Selection Sort) 3. 插入排序(Insertion Sort) 4. 归并排序(Merge Sort) 5. 快速排序(Quick Sort) 排序算法是计算机科学中的一个基础而重要的部分,用于将一组数据按照一定的顺序排列。下面介绍几种常见的排序算法,…...

360安全浏览器就是不行-python秒破解

下面画框都很容易破解&#xff0c;大家试试...

Python实现傅里叶级数可视化工具

Python实现傅里叶级数可视化工具 flyfish 有matlab实现&#xff0c;我没matlab&#xff0c;我有Python&#xff0c;所以我用Python实现。 整个工具的实现代码放在最后,界面使用PyQt5开发 起源 傅里叶级数&#xff08;Fourier Series&#xff09;由法国数学家和物理学家让-巴…...

PDF 分割拆分 API 数据接口

PDF 分割拆分 API 数据接口 文件处理&#xff0c;PDF 高效的 PDF 分割工具&#xff0c;高效处理&#xff0c;可永久存储。 1. 产品功能 高效处理大文件&#xff1b;支持多语言字符识别&#xff1b;支持 formdata 格式 PDF 文件流传参&#xff1b;支持设置每个 PDF 文件的页数…...

学习javaday2

数据类型转换不能对布尔值进行转换不能把对象类型转换为不相干的类型在把高容量转换到低容量时&#xff0c;强制类型转换转换的时候肯存在内存溢出&#xff0c;或者精度问题public class Demo06 {public static void main(String[] args){//操作比较大的数的时候&#xff0c;注…...

2026年4月3日 理论基石:数据量与模型参数量的关系

文章目录1. 理论基石&#xff1a;数据量与模型参数量的关系Kaplan Scaling Laws (OpenAI, 2020)Chinchilla Scaling Laws (DeepMind, 2022)2. 实战计算&#xff1a;针对你的 nanoGPT 实验第一步&#xff1a;估算总 Token 数第二步&#xff1a;计算训练步数 (max_iters)第三步&a…...

Python与Rust的混合编程:结合两者的优势

Python与Rust的混合编程&#xff1a;结合两者的优势 前言 大家好&#xff0c;我是第一程序员&#xff08;名字大&#xff0c;人很菜&#xff09;。作为一个非科班转码、正在学习Rust和Python的萌新&#xff0c;最近我开始学习Python与Rust的混合编程。说实话&#xff0c;一开始…...

STM32G030C8T6多通道ADC采集避坑指南:从时钟配置到采样周期,新手常犯的5个错误

STM32G030C8T6多通道ADC采集实战避坑指南&#xff1a;从原理到代码的完整解决方案 第一次接触STM32G030C8T6的多通道ADC采集时&#xff0c;我按照网上的教程配置完参数&#xff0c;却发现采集到的数据要么全是0&#xff0c;要么数值跳变严重。经过整整两天的调试和查阅参考手册…...

高校如何快速提升科技成果转化效率?

观点作者&#xff1a;科易网-国家科技成果转化&#xff08;厦门&#xff09;示范基地 一、现状概述&#xff1a;成效与短板 近年来&#xff0c;我国高校科技创新成果数量持续增长&#xff0c;专利授权量、论文发表量均居世界前列。然而&#xff0c;科技成果转化效率低下仍是制…...

计算机毕业设计:Python智能汽车销量分析预测平台 Flask框架 scikit-learn 可视化 requests爬虫 AI 大模型(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

破解厂区防控难题:远程控制联网报警器的技术优势与应用实践

一、厂区安全防控的时代挑战与技术革新在工业生产规模化、厂区安全管理标准化的发展趋势下&#xff0c;厂区安全防控已成为企业生产运营的核心工作。我国正处于厂区安防从 "人工巡检为主" 向 "技防联动" 转型的关键阶段&#xff0c;据行业数据显示&#xf…...

Oracle数据库进程体系结构概述

Oracle数据库进程体系结构概述 Oracle属于多进程体系架构&#xff0c;它由多个后台进程组成&#xff0c;每个后台进程完成特定的维护任务&#xff0c;进程之间互相协助&#xff0c;最终共同完成数据库所需的维护任务。 本文讲述的内容&#xff1a; 1、进程类型 2、Oracle两种服…...

Linux内核设计哲学:你我承载力的艺术(续)

第七部&#xff1a;设备驱动——与不完美的世界和解7.1 你不是主人&#xff0c;你是仆人设备驱动是内核中最“卑微”的组件。它不和用户直接打交道&#xff0c;不参与核心决策&#xff0c;甚至不拥有任何资源。它只是硬件的翻译官——把内核的标准请求翻译成硬件能懂的指令&…...

2025届学术党必备的六大降重复率平台实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能生成内容也就是AIGC普及之后&#xff0c;文本检测系统变得越来越精密了。为了避免机…...