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.mzph.cn/news/659943.shtml

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

相关文章

DEV-C++ ege.h库 绘图教程(六)

一、前情回顾 DEV-C ege.h库 绘图教程&#xff08;一&#xff09; DEV-C ege.h库 绘图教程&#xff08;二&#xff09; DEV-C ege.h库 绘图教程&#xff08;三&#xff09; DEV-C ege.h库 绘图教程&#xff08;四&#xff09; DEV-C ege.h库 绘图教程&#xff08;五&#xff09…

UE5/UE4中3D汉字字体文字的创建与实现

本案例工程下载位置&#xff1a;https://mbd.pub/o/bread/ZZqVmJ9v 在虚幻引擎5&#xff08;UE5&#xff09;和虚幻引擎4&#xff08;UE4&#xff09;中&#xff0c;实现3D汉字字体的创建是一项常见的需求。 本文将详细介绍两种有效的方法&#xff1a; 1.通过TextRender配合Of…

《区块链简易速速上手小册》第9章:区块链的法律与监管(2024 最新版)

文章目录 9.1 法律框架和挑战9.1.1 基础知识9.1.2 主要案例&#xff1a;加密货币的监管9.1.3 拓展案例 1&#xff1a;跨国数据隐私和合规性9.1.4 拓展案例 2&#xff1a;智能合约的法律挑战 9.2 区块链的合规性问题9.2.1 基础知识9.2.2 主要案例&#xff1a;加密货币交易所的合…

python的深浅拷贝

在Python中&#xff0c;深拷贝&#xff08;deep copy&#xff09;和浅拷贝&#xff08;shallow copy&#xff09;是用于复制对象的两种方式。 先通俗地解释一下深拷贝和浅拷贝。 想象一下你有一个盒子&#xff08;原始对象&#xff09;&#xff0c;里面装着几本书&#xff08;…

DevOps落地笔记-03|用户故事:对用户需求达成共识的关键

上一讲主要跟你介绍了如何使用影响地图这个工具来进行产品定义、里程碑规划和用户需求分析。影响地图让我们始终以达到目标为核心&#xff0c;并让功能和需求不偏离该目标&#xff0c;从而让交付更有重点。可视化、结构化的思维导图为技术和业务人员创建了共享的整体视图&#…

769933-15-5,Biotin aniline,可以合成多种有机化合物和聚合物

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;769933-15-5&#xff0c;Biotin aniline&#xff0c;生物素苯胺&#xff0c;生物素-苯胺 一、基本信息 产品简介&#xff1a;Biotin Aniline&#xff0c;一种具有重要生物学功能的化合物&#xff0c;不仅参与了维生…

Docker多节点部署Minio分布式文件系统并测试

文章目录 一、前提准备二、文件配置1. .env2. env/minio.env3. docker-compose-minio.yml 三、测试四、Java测试1. 引入依赖2. 增删改 一、前提准备 准备如下文件夹和文件 ./ ├── docker-compose-minio.yml ├── .env ├── env │ ├── minio.env ├── minio │…

基于Qt 视频播放器mp4/wav/avi/等等(进阶)

​## Qt音视频相关 Qt 多媒体音频模拟按钮发音(音视频启动)基于Qt 音乐播放器mp3(进阶)## 项目工具 工具名

场效应管学习笔记

目录 一、场效应管的基本原理 二、场效应管的特性 三、场效应管的应用 四、学习总结 一、场效应管的基本原理 场效应管&#xff08;Field-Effect Transistor&#xff0c;简称 FET&#xff09;是一种利用电场效应控制电流的半导体器件。与双极型晶体管不同&#xff0c;场效应…

C#网络爬虫之TianyaCrawler实战经验分享

互联网时代的到来带来了大量的数据&#xff0c;而网络爬虫技术成为了获取这些数据的重要途径之一。如果你是一名C#开发者&#xff0c;那么你可能会对TianyaCrawler这个强大的网络爬虫框架感兴趣。本文将带你深入了解TianyaCrawler&#xff0c;分享它的技术概况、使用场景&#…

显示企业信息的SSL证书

随着互联网的发展&#xff0c;以及《网络安全法》、《数据安全法》、《个人信息保护法》等法律法规的出台&#xff0c;越来越多的企业意识到保护用户信息的重要性&#xff0c;尤其是对于涉及商业交易和个人数据的网站。为了保护网站安全和用户隐私&#xff0c;给网站部署SSL证书…

索引创建原则

创建索引是一个优化数据库查询性能的关键步骤。正确的索引可以大幅提高查询效率&#xff0c;减少数据的检索时间。但是&#xff0c;不恰当的索引会增加额外的维护成本&#xff0c;并可能降低某些数据库操作的效率。以下是一些创建索引时应遵循的原则&#xff1a; 索引创建原则…

02-opencv简单实例效果和基本介绍-上

机器视觉概述 机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素…

从零开始复现GPT2(四):训练代码的实现

源码地址&#xff1a;https://gitee.com/guojialiang2023/gpt2 GPT2 模型Configuration类定义 Recorder训练框架Trainer训练代码GPT2TrainingSpec 类train_gpt2_model 函数add_subparser 函数 模型 Configuration 这段代码定义了一个名为 TrainConfig 的 Python 类&#xff0c…

异步解耦之RabbitMQ(一)

引言 什么是MQ&#xff1f;为什么要用MQ&#xff1f; MQ是消息队列&#xff08;Message Queue&#xff09;的简称。消息队列是一种在应用系统之间传递消息的方法&#xff0c;它实现了异步通信的机制&#xff0c;解耦了不同组件或系统之间的直接依赖关系。通过将消息发送到消息…

【Java程序设计】【C00205】基于(JavaWeb+SSM)的商场停车服务管理系统(论文+PPT)

基于&#xff08;JavaWebSSM&#xff09;的商场停车服务管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的商场停车服务管理系统 本系统分为管理员和用户2个功能模块。 管理员&#xff1a;管理员进入主页面&…

Codeforces Round 922 (Div. 2)补题

Brick Wall&#xff08;Problem - A - Codeforces&#xff09; 题目大意&#xff1a;规定砖的大小为1*k&#xff08;k>2&#xff09;,现在有一面n*m的砖墙&#xff0c;n是墙高&#xff0c;m是墙宽&#xff0c;砖在砖墙中有两种放法&#xff0c;水平放置和竖直放置&#xff…

Django_基本增删改查

一、前提概述 通过项目驱动来学习&#xff0c;以图书管理系统为例&#xff0c;编写接口来实现对图书信息的查询&#xff0c;图书的添加&#xff0c;图书的修改&#xff0c;图书的删除等功能。&#xff08;不包含多重信息的校验&#xff0c;只为了熟悉增删改查接口的实现流程&a…

Flink 读取 Kafka 消息写入 Hudi 表无报错但没有写入任何记录的解决方法

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…

前端封装websocket类,实现消息注册和全局回调

实现消息注册和回调函数&#xff0c;实现全局使用同一个webscoket对象&#xff0c;并实现断线重连和心跳连接等功能&#xff0c;可以实现全局使用唯一实例&#xff0c;可以另外进行拓展配置 // WebSocket类对象 class WebSocketCli {// 构造函数constructor(url: string, opts…