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

Qt/C++学习系列之列表使用记录

Qt/C++学习系列之列表使用记录

  • 前言
  • 列表的初始化
    • 界面
    • 初始化设置
      • 名称获取
      • 简单设置
  • 单元格存储
  • 总结


前言

列表的使用主要基于QTableWidget控件,同步使用QTableWidgetItem进行单元格的设置,最后可以使用QAxObject进行单元格的数据读出将数据进行存储。接下来就开始列表的设置和保存吧!


列表的初始化

界面

列表控件可以在界面上使用QTableWidget控件。
在这里插入图片描述

初始化设置

名称获取

// 获取 ui 中的 QTableWidget
QTableWidget *tableWidget = ui->TabWid_Result;
  • 获取界面中的QTableWidget的名称,为了后续初始化的使用。

简单设置

tableWidget->setRowCount(n);
tableWidget->setColumnCount(m);
  • 设置表格的行数和列数
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
  • 设置表格为不可编辑:一般是结果显示中,不需要表格输入,只是结果输出进行设置。
tableWidget->horizontalHeader()->setVisible(false);  
tableWidget->verticalHeader()->setVisible(true);    
  • 显示默认的水平表头
  • 隐藏默认的垂直表头
  • 表头的设置可具体实际的需要进行显示或隐藏。
tableWidget->setColumnWidth(col, 80); 
tableWidget->setRowHeight(row, 50);
  • 设置每列宽度的像素
  • 设置每行高度的像素。
QTableWidgetItem *emptyItem = new QTableWidgetItem("\\");
emptyItem->setBackground(Qt::lightGray); 
tableWidget->setItem(i, j, emptyItem);
  • 单元格填充使用QTableWidgetItem
  • setBackground是来设置单元格的背景色
  • 将单元格内容填充到单元格内

如何合并单元格!

tableWidget->setSpan(0, 0, 1, 12);
  • void setSpan(int row, int column, int rowSpan, int columnSpan);:这里就是初始的行列到扩展的行列。
    在这里插入图片描述
    这里要注意,如果需要存储,那么第三行一定要有数据内容,不然程序会崩!

单元格存储

QAxObject* excel = new QAxObject();
  • 定义表格。
QAxObject* workbooks = excel->querySubObject("Workbooks");
QAxObject* workbook = workbooks->querySubObject("Add()");
  • 添加新的工作薄。
QAxObject* sheets = workbook->querySubObject("Worksheets");
QAxObject* sheet = sheets->querySubObject("Item(int)", 1); // 第一个工作表
  • 获取活动的第一个工作表
int romCount = ui->TabWid_Result->rowCount();
int colCount = ui->TabWid_Result->columnCount();
  • 获取总行数
  • 获取总列数
QAxObject* biaotou=sheet->querySubObject("Cells (int,int)", 1, 1);
biaotou->dynamicCall("SetValue(const QVariant&)", QVariant("xx"));
biaotou->setProperty("RowHeight", 30); // 设置宽度为20
biaotou->setProperty("Size", 20); // 设置宽度为20
  • 这里是获取单元格对象。
  • dynamicCall设置单元格的内容。
  • setProperty是根据不同的内容进行数据设置。

如何获取实际列表值进行excel数据写入呢?

QString str1=ui->TabWid_Result->item(i,j)->text();
QAxObject* danyuange3=sheet->querySubObject("Cells (int,int)", i, j);
danyuange3->dynamicCall("SetValue(const QVariant&)", QVariant(str1));
  • 获取表格内容,形成QString
  • querySubObject:获取 Excel 单元格对象
  • 通过dynamicCall将内容写入QAxObject中。
    在这里插入图片描述

总结

本文主要简单介绍了表格的简单使用,并做了存储设置。

http://www.xdnf.cn/news/914707.html

相关文章:

  • 网络原理5 - TCP4
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十一) -> 同步云端代码至DevEco Studio工程
  • 【Java学习笔记】StringBuilder类(重点)
  • 基于 Transformer robert的情感分类任务实践总结之二——R-Drop
  • Python实例题:Python计算线性代数
  • SQL 基础入门
  • Vue学习之---nextTick
  • 抖去推--短视频矩阵系统源码开发
  • vue3 + vite实现动态路由,并进行vuex持久化设计
  • Vue ④-组件通信 || 进阶语法
  • 基于SFC的windows系统损坏修复程序
  • 个人电脑部署本地大模型+UI
  • SQL Server全局搜索:在整个数据库中查找特定值的高效方法
  • 11.RV1126-ROCKX项目 API和人脸检测画框
  • SCAU数值计算OJ
  • ​​Java 异常处理​​ 的详细说明及示例,涵盖 try-catch-finally、自定义异常、throws 与 throw 的核心概念和使用场景
  • 深入Java8-日期时间API:TemporalAdjusters、TemporalAdjuster类
  • C++中的右值引用与移动语义的理解
  • 思维链的 内部机制和简单理解
  • 【Unity Shader编程】之让画面动起来
  • Qwen2.5-VL - 模型结构
  • 如何使用 Bulk Rename Utility 批量为文件名添加统一后缀?
  • 今日行情明日机会——20250606
  • 如何防止误删除rm (万恶之源)
  • 功率估计和功率降低方法指南(3~5)
  • 光耦合器:隐形守护者,拓展无限应用
  • Python内置函数ord()详解
  • 为什么要对邮件列表清洗?
  • 美国大休斯顿都会区电网数据
  • 云服务器中容灾模式的主要用途都有哪些?