茶艺馆网站,天津装修公司电话,做食物网站应该考虑些什么,北京网站建设华大Qt开发 系列文章 - QXlsx#xff08;三#xff09; 目录
前言
一、Qt开源库
二、QXlsx
1.QXlsx介绍
2.QXlsx下载
3.QXlsx移植
4.修改项目文件.pro
三、使用技巧
1.添加头文件
2.写入数据
3.读出数据
总结 前言
Qt第三方控件库是指非Qt官方提供的、用于扩展Qt应用…Qt开发 系列文章 - QXlsx三 目录
前言
一、Qt开源库
二、QXlsx
1.QXlsx介绍
2.QXlsx下载
3.QXlsx移植
4.修改项目文件.pro
三、使用技巧
1.添加头文件
2.写入数据
3.读出数据
总结 前言
Qt第三方控件库是指非Qt官方提供的、用于扩展Qt应用程序功能的控件集合。这些控件库可以提供额外的用户界面元素、功能组件或者优化现有Qt控件的性能和外观。一些常用的Qt第三方控件库有QCustomPlot、QXlsx、QHotkey、QtSerialPort、QsLog等等很多它们都是开源的、免费的且基于Qt框架编写今天本文主要讲解QXlsx第三方控件开源库。 一、Qt开源库
Qt开源库是指基于Qt框架的一系列开源库这些库提供了丰富的功能帮助开发者在Qt应用程序中实现各种功能需求。Qt是一个跨平台的C图形用户界面应用程序开发框架广泛用于开发GUI程序也可用于开发非GUI程序如控制台工具和服务器。
常用的Qt第三方控件开源库及特点和用途简要描述如下 QXlsx是一个用于读写Microsoft Excel文件的库使Qt应用程序能够处理Excel数据 QCustomPlot是一个绘制图表、曲线、统计图等的库具有灵活的定制化和丰富的功能 QHotkey是一个简单易用的库用于在Qt应用程序中注册全局快捷键 QtSerialPort是Qt官方提供的库用于串口通信支持跨平台使用 QsLog是一个轻量级的日志库用于在Qt应用程序中记录和输出日志信息 QJson是用于JSON数据解析和生成的库方便处理JSON格式的数据 QwtPlot3D是绘制三维图形的库支持曲面图、线框图、散点图等。
二、QXlsx
先提供第三方开源库QXlsx库的下载网址GitHub - QtExcel/QXlsx下载地址
1.QXlsx介绍
由于Qt无自带的库处理Excel文件亦使用免费的开源第三方库QXlsx它提供了一组简单易用的API允许开发者读取、写入和修改Excel工作簿.xlsx文件格式并且完全独立于Excel应用程序本身不需要安装Microsoft Excel即可操作Excel文件。
2.QXlsx下载
打开上面的QXlsx下载地址如下所示。在Code处点击Download ZIP下载压缩文件也可以使用git clone https://github.com/QtExcel/QXlsx.git 将项目下载到本地. 下载完后并解压该文件如下所示。 打开该文件夹可以看到里面有若干文件夹主要时一些QXlsx的使用例程和github的配置文件我们主要关心QXlsx的源文件在图中QXlsx文件夹里面将该文件夹复制到你的Qt工程项目中是此行的目的。 3.QXlsx移植
将上面QXlsx文件夹复制到你的Qt工程项目路径下面然后将该文件QXlsx添加到你的Qt项目中。
首先将QXlsx复制到项目路径下面如下所示。 然后打开QXlsx文件夹删除cmake文件夹、CMakeLists.txt、QXlsx.pro文件保留如下文件。 4.修改项目文件.pro
打开你的Qt项目点击打开你的pro文件在其中添加如下配置信息代码示例
QXLSX_PARENTPATH$$PWD/QXlsx/
QXLSX_HEADERPATH$$PWD/QXlsx/header/
QXLSX_SOURCEPATH$$PWD/QXlsx/source/
include($$PWD/QXlsx/QXlsx.pri)
添加完成后会自动将QXlxs文件夹显示在项目中。 至此已经将QXlxs在Qt中运用的开发环境已经搭建完毕可以在Qt项目中使用QXlsx处理execle文件了。下面在讲解一些QXlxs的使用技巧也可以参考下官方示例上的使用方式。
三、使用技巧
1.添加头文件
进行对数据写入/读取操作时别忘了在文件上方添加QXlxs头文件如下所示
#include xlsxdocument.h
2.写入数据
在UI界面上设置按钮名称写入数据点击可实现创建一个Execl文件向其写入数据数据示意图 代码示例
void MainWindow::on_pushButton_clicked()
{QXlsx::Document xlsx;xlsx.write(A1, 时间(ms));xlsx.write(B1, 帧序号);xlsx.write(C1, 气压(kPa));xlsx.write(D1, 倾角(°));xlsx.write(E1, 温度(℃));xlsx.write(F1, 速度(m/s));double d 0.111111;for (int i2; i100; i) {xlsx.write(i, 1, 100);xlsx.write(i, 2, 100);xlsx.write(i, 3, QString::number(d, f, 3));xlsx.write(i, 4, QString::number(d, f, 3));xlsx.write(i, 5, QString::number(d, f, 3));xlsx.write(i, 6, QString::number(d, f, 3));}QString saveFilePath qApp-applicationDirPath() /savefile.xlsx;xlsx.saveAs(saveFilePath);
}
3.读出数据
在UI界面上设置按钮名称读取数据点击可实现读取一个Execl文件将其数据存入QStringList变量中示意图 代码如下示例
void MainWindow::on_pushButton_2_clicked()
{QString sourcFilePath QFileDialog::getOpenFileName(nullptr,请选择待处理的数据,qApp-applicationDirPath()/,*.xlsx;;all(*));if(sourcFilePath.isEmpty()){QMessageBox mesg;mesg.critical(this,tr(Error),tr(打开文件路径发生错误!));return;}QXlsx::Document xlsx(sourcFilePath);QXlsx::Worksheet *workSheet xlsx.currentWorksheet();int xlsxrows workSheet-dimension().rowCount();//读取文件行数int xlsxcloums workSheet-dimension().columnCount();//读取文件列数QStringList msgs;for (int i1;ixlsxrows;i){for (int j1;jxlsxcloums;j){msgs.append(workSheet-cellAt(i, j)-value().toString());}}
} 总结
QXlsx库里面还有许多功能更为详细可参考官方给出的示例工程在上述讲解中你下载的文件包中。
博文中相应的工程代码Qt-Case.zip 利用Qt开发软件进行编的例程为博文提供案例-CSDN文库。