qt学习:Table widget控件

目录

头文件

实战

重新配置ui界面

添加头文件

在构造函数中添加初始化

显示方法


该实例是在sqlite项目上添加qt学习:QTSQL+连接sqlite数据库+增删改查-CSDN博客

头文件

#include <QTableWidgetItem>

实战

重新配置ui界面

用法介绍,可以双击进入到行和列的控制浮窗进行添加行和列,或者通过代码方式

添加头文件

在构造函数中添加初始化

    //初始化表格控件//1、设置表头的文本QStringList list;//将每列的标题写入listlist<<"ID"<<"姓名"<<"地址"<<"工资"<<"更多";//2、设置表格控件的列数ui->tableWidget->setColumnCount(5);//设置颜色交替ui->tableWidget->setAlternatingRowColors(true);//设置每列自适应的宽度ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//3、设置水平表头//ui->tableWidget->columnCount()得到列数for(int i=0; i<ui->tableWidget->columnCount(); i++){//实例化一个单元格类的对象QTableWidgetItem *item = new QTableWidgetItem;item->setText(list.at(i));//设置字体QFont font = item->font();font.setBold(true);//加粗font.setPixelSize(32);item->setFont(font);//将单元格设置为水平表头,第i列,//简单来说就是将item单元格设置到第0行的第i列格子上ui->tableWidget->setHorizontalHeaderItem(i,item);}

显示方法

    //查询语句QString sql = QString("select * from staff order by  name desc;");//创建一个可以对db执行语句的对象QSqlQuery query(db);//执行sql语句bool ret = query.exec(sql);if(ret == false){qDebug()<<"select error "<<query.lastError().text();}//从第一行开始显示int row = 0;//查询的结果while(query.next()){//获取到查询到的数据int id = query.value(0).toInt();QString name = query.value("name").toString();QString address = query.value("address").toString();double salary = query.value("salary").toDouble();//组合成字符串,可以打印出来QString text = QString("id:%1 name:%2 address:%3 salary:%4").arg(id).arg(name).arg(address).arg(salary);//放到表格控件上显示//在插入一行记录之前,表格控件先 新增一行,告诉这个表格控件 我要插入一行数据,你要把相关的操作 初始化好qDebug()<<"row:"<<ui->tableWidget->rowCount();//打印出当前表格有多少行ui->tableWidget->setRowCount(ui->tableWidget->rowCount() + 1);//新建一个单元格指针QTableWidgetItem *item;//ID单元格//配置单元格空间,内容,布局item = new QTableWidgetItem;item->setText(QString::number(id));item->setTextAlignment(Qt::AlignCenter);//void QTableWidget::setItem(int row, int column, QTableWidgetItem *item)//第一个参数表示 将当前这个单元格 插到 第row行//第二个参数表示 将当前这个单元格 插到 第 column列ui->tableWidget->setItem(row,0,item);//name 单元格item = new QTableWidgetItem;item->setText(name);item->setTextAlignment(Qt::AlignCenter);ui->tableWidget->setItem(row,1,item);//address 单元格item = new QTableWidgetItem;item->setText(address);item->setTextAlignment(Qt::AlignCenter);ui->tableWidget->setItem(row,2,item);//salary 单元格item = new QTableWidgetItem;item->setText(QString::number(salary));item->setTextAlignment(Qt::AlignCenter);ui->tableWidget->setItem(row,3,item);//更多按钮配置QPushButton *btn = new QPushButton;btn->setText("...");ui->tableWidget->setCellWidget(row, 4, btn);row++;}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis核心技术与实战【学习笔记】 - 7.Redis GEO类型 - 面向 LBS 应用的数据类型

前言 前面&#xff0c;介绍了 Redis 的 5 大基本数据类型&#xff1a;String、List、Hash、Set、Sorted Set&#xff0c;它们可以满足绝大多数的数据存储需求&#xff0c;但是在面对海里数据统计时&#xff0c;它们的内存开销很大。所以对于一些特殊的场景&#xff0c;它们是无…

解析Kubernets pod DNS域名

k8s dns理解 这个博主讲的很详细 我的这篇文章主要是演示测试 k8s的dns nslookup怎么解析到k8spod域名 创建一个busybox的pod&#xff0c;测试一下pod内是否可以解析 1、流程验证 cat >dns-Deployment.yaml<<EOF apiVersion: apps/v1 kind: Deployment metadata:nam…

文本三剑客之grep

目录 一、正则表达式 1、什么是正则表达式 2、元字符 3、扩展正则表达式元字符 二、grep 一、正则表达式 1、什么是正则表达式 REGEXP&#xff1a; Regular Expressions&#xff0c;由一类特殊字符及文本字符所编写的模式&#xff0c;其中有些字符&#xff08;元字符&#…

tidb节点重启后,服务无法重连

大家好&#xff0c;我是烤鸭&#xff1a; 前几天遇到tidb节点重启后服务无法重连&#xff0c;确切地说是两个服务&#xff0c;一个可以正常重连&#xff0c;一个不行。 问题复现 由于线上执行慢SQL&#xff0c;导致TiDB 单个节点宕机重启。 其中A服务的3个节点和B服务的1个节…

STM32——USART

一、通信 1.1通信是什么&#xff1b; 通信是将一个设备的数据发送到另一个设备中&#xff0c;从而实现硬件的扩展&#xff1b; 1.2通信的目的是什么&#xff1b; 实现硬件的扩展-在STM32中集成了很多功能&#xff0c;例如PWM输出&#xff0c;AD采集&#xff0c;定时器等&am…

springboot142新冠病毒密接者跟踪系统

新冠病毒密接者跟踪系统设计与实现 摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff…

【css】设置渐变阴影

css的属性中没有直接设置渐变阴影的&#xff0c;但是可以通过伪元素去实现。 .box-wrap{width: 100%;display: grid;place-content: center; } .box {width: 150px;height: 150px;background: #eee;border: 1px solid #585252;position: relative;transform: translate(0);/* …

Observability:在 Elastic Stack 8.12 中使用 Elastic Agent 性能预设

作者&#xff1a;来自 Elastic Nima Rezainia, Bill Easton 8.12 中 Elastic Agent 性能有了重大改进 最新版本 8.12 标志着 Elastic Agent 和 Beats 调整方面的重大转变。 在此更新中&#xff0c;Elastic 引入了 Performance Presets&#xff0c;旨在简化用户的调整过程并增强…

MATLAB - 仿真单摆的周期性摆动

系列文章目录 前言 本例演示如何使用 Symbolic Math Toolbox™ 模拟单摆的运动。推导摆的运动方程&#xff0c;然后对小角度进行分析求解&#xff0c;对任意角度进行数值求解。 一、步骤 1&#xff1a;推导运动方程 摆是一个遵循微分方程的简单机械系统。摆最初静止在垂直位置…

力扣136、只出现一次的数字(简单)

1 题目描述 图1 题目描述 2 题目解读 在非空整数数组nums中&#xff0c;有一个元素只出现了一次&#xff0c;其余元素均出现两次。要求找出那个只出现一次的元素。 3 解法一&#xff1a;位运算 位运算&#xff0c;是一种非常简便的方法。 3.1 解题思路 异或运算&#xff0c;有…

《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(3)

接前一篇文章&#xff1a;《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述&#xff08;2&#xff09; 4.1 PCIe总线的基础知识 与PCI总线不同&#xff0c;PCIe总线使用端到端的连接方式&#xff0c;在一条PCIe链路的两端只能各连接一个设备&#xff0c;这两个…

如何开立一个融资融券账户?

第一&#xff1a;什么是融资融券&#xff1f;融资融券交易&#xff0c;又称“证券信用交易”&#xff0c;是指投资者通过向具有融资融券业务资格的证券公司提供担保物&#xff0c;借入资金买入证券&#xff08;融资交易&#xff09;或借入证券并卖出&#xff08;融券交易&#…