Qt多元素控件——QTableWidget

文章目录

    • QTabWidget核心属性、方法和信号
    • 使用示例

QTabWidget核心属性、方法和信号

QTableWidget表示一个表格控件,一个表格中包含若干行,每一行包含若干列。

表格中的每一个单元格,是一个QTableWidgetItem对象。

QTableWidget核心方法:

方法说明
item(int row, int column)根据行数列数获取指定的QTableWidgetItem*
setItem(int row, int column, QTableWidget* )根据行数列数设置表格中的元素
currentItem()返回被选中的元素QTableWidgetItem*
currentRow()返回被选中元素是第几行
currentColumn()返回被选中元素是第几列
row(QTableWidgetItem* )获取指定item是第几行
column(QTableWidgetItem* )获取指定item是第几列
rowCount()获取行数
columnCount()获取列数
insertRow(int row)在第row行插入新行
insertColumn(int column)在第column列插入新列
removeRow(int row)删除row行
removeColumn(int column)删除column列
setHorizontalHeaderItem(int column, QTableWidget* )设置指定列的表头
setVerticalHeaderItem(int row, QTableWidget* )设置指定行的表头

QTableWidgetItem核心信号:

信号说明
cellClicked(int row, int column)点击单元格时触发
cellDoubleClicked(int row, int column)双击单元格触发
cellEntered(int row, int column)鼠标进入单元格时触发
currentCellChanged(int row, int column, int previousRow, int previousColumn)选中不同单元格触发

QTableWidgetItem核心方法:

方法说明
row()获取当前第几行
column()获取当前第几列
setText(const QString&)设置文本
setTextAlignment(int)设置文本对齐
setIcon(const QIcon&)设置图标
setSelected(bool)设置被选中
setSizeHints(const QSize&)设置尺寸
setFont(const QFont&)设置字体

使用示例

页面属性设置:

image-20240916112636768

图形化界面编辑:

image-20240916115501508

同理,如果初始化界面的数据是固定的,可以采用图形化界面方式编辑;

如果需要通过文件/网络加载,就需要通过代码了

代码编辑:

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建3行  下标必须从0开始ui->tableWidget->insertRow(0);ui->tableWidget->insertRow(1);ui->tableWidget->insertRow(2);//创建3列ui->tableWidget->insertColumn(0);ui->tableWidget->insertColumn(1);ui->tableWidget->insertColumn(2);//给列设置指定列名ui->tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem("学号"));ui->tableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem("姓名"));ui->tableWidget->setHorizontalHeaderItem(2, new QTableWidgetItem("性别"));//给表格添加数据ui->tableWidget->setItem(0, 0, new QTableWidgetItem("2101"));ui->tableWidget->setItem(0, 1, new QTableWidgetItem("张三"));ui->tableWidget->setItem(0, 2, new QTableWidgetItem("男"));ui->tableWidget->setItem(1, 0, new QTableWidgetItem("2102"));ui->tableWidget->setItem(1, 1, new QTableWidgetItem("李四"));ui->tableWidget->setItem(1, 2, new QTableWidgetItem("女"));ui->tableWidget->setItem(2, 0, new QTableWidgetItem("2103"));ui->tableWidget->setItem(2, 1, new QTableWidgetItem("王五"));ui->tableWidget->setItem(2, 2, new QTableWidgetItem("男"));
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_insertRow_clicked()
{//获取目前多少行int rowCount = ui->tableWidget->rowCount();//在最后一行之后插入ui->tableWidget->insertRow(rowCount);
}void Widget::on_pushButton_earseRow_clicked()
{//获取选中行号int curRow = ui->tableWidget->currentRow();//删除选定行ui->tableWidget->removeRow(curRow);
}void Widget::on_pushButton_insertColumn_clicked()
{//获取有多少列int colCount = ui->tableWidget->columnCount();//对应位置新增列ui->tableWidget->insertColumn(colCount);//设置列名(从输入框获取)const QString& text = ui->lineEdit->text();ui->tableWidget->setHorizontalHeaderItem(colCount, new QTableWidgetItem(text));}void Widget::on_pushButton_eraseColumn_clicked()
{//获取列号int curCol = ui->tableWidget->currentColumn();//删除列ui->tableWidget->removeColumn(curCol);
}

GIF 2024-9-16 12-46-43

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1539083.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

录音翻译成文字的软件有哪些?试试这5款工具,一键识别

将录音翻译成文字的需求日益增长,无论是商务会议、学术讲座还是日常生活,一款高效、准确的录音翻译软件都能极大地提升我们的工作与生活效率。今天,我们就来盘点5款备受好评的录音翻译成文字的软件,一起来了解下吧。 工具一&#…

9月18日

思维导图 配置桥接网络的过程 配置桥接网络 确保虚拟机提供了桥接模式菜单栏>编辑>虚拟机网络编辑器确保虚拟机可以设置桥接网络(如无法通过桥接连接网络,则可以还原设置后重新尝试,如果还不行则找到VMware的软件安装包,双…

uniapp快速入门教程,内容来源于官方文档,仅仅记录快速入门需要了解到的知识点

uniapp快速入门教程,内容来源于官方文档,仅仅记录快速入门需要了解到的知识点 目录 介绍uniapp 介绍uniapp x 介绍功能框架图创建项目&发布组件/标签的变化js的变化css的变化工程结构和页面管理 pages.jsonmanifest.json 应用配置组件easycom组件规…

《中国数据库前世今生》纪录片观感:从古至今数据库的演变与未来

我的数据库之路:从新手到稳步前行 三年数据库开发的经历,让我从一名菜鸟程序员逐步成长为能够独立解决问题的开发者。这段时间里,我经历过迷茫、困惑,也感受过技术攻关后的成就感。最近看了腾讯云推出的《中国数据库前世今生》纪…

大数据新视界 --大数据大厂之 Cassandra 分布式数据库:高可用数据存储的新选择

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

ICML 2024 论文分享┆用于高分辨率图像合成的可扩展修正流Transformers

论文分享简介 本推文介绍的是2024 ICML的最佳论文之一《Scaling Rectified Flow Transformers for High-Resolution Image Synthesis》,论文介绍了Stable Diffusion 3的技术细节。该论文提出了一种对修正流模型(rectified flow)中的噪声尺度…

全双工多路并发、低延时数传解决行业信号拥堵问题

在众多行业中,实时高效的数据传输至关重要。无论是工业自动化中的传感器网络、仓储物流中的自动导引车(AGV),还是无人驾驶、智慧农业等应用,都需要依赖稳定的无线通信进行指令传输与反馈。而目前许多行业面临的主要以下…

延续“创界无疆”的故事,冠珠瓷砖探索“设计+饰材”的美学

饰材与设计大美同行,持续创新美的表达!PAL三十周年设计巡展由PAL Design Group 、冠珠瓷砖共同发起,领路营销独家策划,南京站-南京家居特别支持,以展览的形式呈现着PAL Design Group 三十年来的发展历程,以…

你知道企业架构中核心的4大架构联系和不同吗?

引言:企业架构是指对企业信息管理系统中具有体系的、普遍性的问题而提供的通用解决方案它是基于业务导向和驱动的架构来理解、分析、设计、构建、集成、扩展、运行和管理信息统的。复杂系统是基于架构(或体系)的集成,而不是基于部件(或组件)的集成。指导…

连续18年全球第一,三星电视持续引领科技浪潮

作者 | 曾响铃 文 | 响铃说 对于很多80、90年代的人来说,电视机一定都是童年生活中必不可少的存在,是不少美好回忆的载体。 但与过去单纯地看电视不同,如今的电视机产品正在承担更多价值。就比如电视产品开始从单纯的功能性消费品&#xf…

1.2 测试基础

欢迎大家订阅【软件测试】 专栏,开启你的软件测试学习之旅! 文章目录 前言1 测试分类1.1 按生产阶段划分1.2 按代码可见度划分1.3 其他测试 2 质量模型 前言 在软件开发过程中,测试是确保产品质量的重要环节。本文详细讲解了软件测试分类以及…

【华为杯】第二十一届中国研究生数学建模竞赛

“华为杯”第二十一届中国研究生数学建模竞赛即将开始,梦想科研社给大家整理一些比赛信息,在正式开赛后,我们也会持续分享一些课题的分析以及代码,有需要的可以联系我们获取资料信息哦 一、时间节点 1.加密赛题开始下载时间&…

大表数据如何在OceanBase中进行表分区管理的实践

背景 将Zabbix的数据库迁移至OceanBase后,以其中的几个大表作为案例,本文将分享如何利用ODC(OceanBase 开发者工具),来进行自动管理OB数据库中的表分区的方案。 因为原始表里已经有大量的数据,如果贸然对…

项目管理系统的期限提醒功能如何确保项目按时推进?

在竞争激烈的项目申报垂直领域,时间就是效率,效率关乎成败。每一个申报项目的截止日期都是一道不容错过的关卡,错过即意味着失去了宝贵的机会。为了确保项目能够按时推进,避免因时间管理不当而导致的延误,项目管理系统…

盘点BDC/ZCU方案常用的芯片

文章目录 1.前言2.方案概述3.主控芯片3.1 RH850/U2A3.2 TC39x3.3 E34303.4 CCFC3007、CCFC3012 4.电源芯片4.1 混合方案4.2 分立方案 5.电机驱动芯片5.1 多路半桥驱动5.2 多路预驱5.3 步进电机驱动5.4 H桥驱动5.4.1 TI的H桥驱动5.4.2 ST的H桥驱动 6.高边驱动芯片/低边驱动芯片6…

LINUX网络编程:理解绑定和分装解包

目录 1.理解绑定 2.理解封装和解包 封装(添加报头) 1.理解绑定 当数据报文到达的时候,会一层一层的解包分用给目的端口号的进程。 在程序启动的时候都需要绑定端口号,数据报文才能通过端口号交给对应的进程,那这是…

Give azure openai an encyclopedia of information

题意:给 Azure OpenAI 提供一部百科全书式的信息 问题背景: I am currently dabbling in the Azure OpenAI service. I want to take the default model and knowledge base and now add on to it my own unique information. So, for example, for mak…

云服务新战局:AI应用之争悬念丛生

科技圈的迭代总是让人应接不暇,眼下云服务行业又在进入新变局。 从去年的“大模型之战”,到今年的“AI应用之争”,推动着云服务进入了新的阶段,开启了云计算持续多年的新技术变革。一众云服务巨头领略到了新技术的魅力&#xff0…

H5白色大方图形ui设计公司网站HTML模板源码

源码名称:白色大方图形ui设计公司网站模板源码 源码介绍:一款H5自适应白色大方图形ui设计公司官网网站模板源码。源码含有七个页面,可用于各种设计公司官网。 需求环境:H5 下载地址: https://www.51888w.com/369.ht…

5G 扬帆新质跃,技术蝶变开新篇-第七届“绽放杯”5G应用征集大赛 5G应用融合技术专题赛圆满收官

2024年9月13日,由中国信息通信研究院、中国电信集团有限公司、中国移动通信集团有限公司、中国联合网络通信集团有限公司主办,5G应用产业方阵承办的第七届“绽放杯”5G应用征集大赛  5G应用融合技术专题赛决赛在深圳成功举办。 本次专题赛以“5G扬帆新质跃,技术蝶变开新篇”为…