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

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.lryc.cn/news/291655.html

相关文章:

  • Android --- Content Provider是使用示例,通俗易懂
  • 02-opencv简单实例效果和基本介绍-上
  • 中科大计网学习记录笔记(一):Internet | 网络边缘
  • Shell脚本——免交互
  • 【数据分享】1929-2023年全球站点的逐月最高气温数据(Shp\Excel\无需转发)
  • CentOS gui 图形界面显示文字乱码
  • [Vue入门]Vue的使用:vue对象+data+el+插值表达式
  • Tomcat运维
  • 前端开发基于Qunee绘制网络拓扑图总结-02
  • 牛客——中位数图(连续子数组和二维前缀和)
  • Java:搭建eladmin复习mvn、springboot、vue等
  • JavaScript入门
  • Redis单机-主从集群-哨兵集群-分片集群 搭建教程
  • 湘潭大学-计算机网络-补考
  • SOME/IP SD 协议介绍(五)使用SOME/IP-SD宣布非SOME/IP协议的协议。
  • svn 安装路径
  • Skywalking trace UI页面中字段信息详解,包括端点、跨度类型和Peer
  • 【 USRP 相控阵】X波段相控阵开发平台用户指南
  • C++关键词auto详解
  • 【GPU驱动开发】- GPU架构流程
  • UE5在VisualStudio升级后产生C++无法编译的问题
  • 目标检测:1预备知识
  • 【Linux取经路】进程控制——进程等待
  • 虹科干货 | 如何使用nProbe Cento构建100 Gbit NetFlow 传感器
  • Web前端入门 - HTML JavaScript Vue
  • (Sping Xml方式整合第三方框架)学习Spring的第十天
  • 单片机驱动多个ds18b20
  • GitLab16.8配置webhooks、Jenkins2.4配置GitLab插件实现持续集成、配置宝塔面板实现持续部署(其三)
  • 鸿蒙会取代Android吗?听风就是雨
  • 检测CUDA 是否能访问GPU时回应速度慢【笔记】