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

Qt 学习第十一天:QTableWidget 的使用

一、创建QTableWidget对象,设置大小,在窗口的位置

//创建tablewidgetQTableWidget *table = new QTableWidget(this);table->resize(550, 300);table->move(100, 100); //移动

二、设置表头

//设置表头QStringList headerList; //定义headerList变量headerList << "姓名" << "班级" << "学号"; //添加内容QFont font; //设置字号font.setPointSize(17);table->setFont(font);table->setColumnCount(headerList.size()); //设置列数=表头列数table->setHorizontalHeaderLabels(headerList); //添加headerList到表头//ResizeToContents, 列的宽度会根据列标题文字的宽度设置table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); //需要包含#include <QHeaderView>table->setRowCount(3); //设置行数,不设置显示不出文本

要注意设置行数和列数,不然不会显示内容或文本

三、往表格添加内容

//往表格添加内容QStringList nameList, classList, studentIDList;nameList << "陈*林" << "张三" << "李四";classList << "计算机科学与技术22(3)班" << "人工智能23(1)班" << "软件工程24(4)班";studentIDList << "2130602105" << "2340602143" << "2460602113";for(int i=0; i<headerList.size(); i++){QTableWidgetItem *nameItem = new QTableWidgetItem(nameList[i]); //创建列表项nameItem->setTextAlignment(Qt::AlignCenter);table->setItem(i, 0, nameItem);table->setRowHeight(i, 10); // 设置行大小QTableWidgetItem *classItem = new QTableWidgetItem(classList[i]); //创建列表项classItem->setTextAlignment(Qt::AlignCenter);table->setItem(i, 1, classItem);QTableWidgetItem *studentIDItem = new QTableWidgetItem(studentIDList[i]); //创建列表项studentIDItem->setTextAlignment(Qt::AlignCenter);table->setItem(i, 2, studentIDItem);}

【完整代码】

#include "widget.h"
#include "ui_widget.h"
#include <QTableWidget>
#include <QHeaderView>
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建tablewidgetQTableWidget *table = new QTableWidget(this);table->resize(550, 300);table->move(100, 100); //移动//设置表头QStringList headerList; //定义headerList变量headerList << "姓名" << "班级" << "学号"; //添加内容QFont font; //设置字号font.setPointSize(17);table->setFont(font);table->setColumnCount(headerList.size()); //设置列数=表头列数table->setHorizontalHeaderLabels(headerList); //添加headerList到表头//ResizeToContents, 列的宽度会根据列标题文字的宽度设置table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); //需要包含#include <QHeaderView>table->setRowCount(3); //设置行数,不设置显示不出文本//往表格添加内容QStringList nameList, classList, studentIDList;nameList << "王五" << "张三" << "李四";classList << "计算机科学与技术22(3)班" << "人工智能23(1)班" << "软件工程24(4)班";studentIDList << "2130602105" << "2340602143" << "2460602113";for(int i=0; i<headerList.size(); i++){QTableWidgetItem *nameItem = new QTableWidgetItem(nameList[i]); //创建列表项nameItem->setTextAlignment(Qt::AlignCenter);table->setItem(i, 0, nameItem);table->setRowHeight(i, 10); // 设置行大小QTableWidgetItem *classItem = new QTableWidgetItem(classList[i]); //创建列表项classItem->setTextAlignment(Qt::AlignCenter);table->setItem(i, 1, classItem);QTableWidgetItem *studentIDItem = new QTableWidgetItem(studentIDList[i]); //创建列表项studentIDItem->setTextAlignment(Qt::AlignCenter);table->setItem(i, 2, studentIDItem);}
}Widget::~Widget()
{delete ui;
}

【运行结果】

补充知识点:

http://www.lryc.cn/news/452576.html

相关文章:

  • 【Linux】基础指令 1
  • Linux_kernel字符设备驱动12
  • 服务保护sentinel
  • 【ubuntu】Ubuntu20.04安装中文百度输入法
  • 蓝桥杯【物联网】零基础到国奖之路:十八. 扩展模块之光敏和AS312
  • 如何在微信小程序中实现分包加载和预下载
  • 初识TCP/IP协议
  • 使用 classification_report 评估 scikit-learn 中的分类模型
  • 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十)高翔书中的细节:参考链接;卫星导航;ESKF
  • 【在Python中爬取网页信息并存储】
  • ESP32 Bluedroid 篇(1)—— ibeacon 广播
  • 【通配符】粗浅学习
  • Spring MVC 常用注解
  • 水泵模块(5V STM32)
  • 需求6:如何写一个后端接口?
  • 《Linux从小白到高手》理论篇(五):文件权限控制及文件操作相关的命令
  • 异常场景分析
  • Leetcode: 0001-0010题速览
  • 计算机的错误计算(一百一十二)
  • C++基础(7)——STL简介及string类
  • 配置Nginx以支持通过HTTPS回源到CDN
  • yolov10+strongsort的目标跟踪实现
  • C# 字符与字符串
  • 在Ubuntu 16.04上使用LEMP安装WordPress的方法
  • 显示器放大后,大漠识图识色坐标偏移解决方法
  • C++容器之list基本使用
  • Redis-哨兵
  • Pikachu-Sql-Inject - 基于时间的盲注
  • JAVA开源项目 旅游管理系统 计算机毕业设计
  • 景联文科技入选《2024中国AI大模型产业图谱2.0版》数据集代表厂商