Qt下载模板到本地文件内容丢失问题

embedded/2025/4/1 15:26:47/

上源码

关键点已标注在源码中 A, B…

// 保存的文件路径后缀QString dateTime = Myapp::getCurrentTimeDescYMDHms().replace(" ", "").replace("-", "").replace(":", "");// 临时文件名称QString newFileName = QString(QUuid::createUuid().toString().replace("{", "").replace("}", "").replace("-", ""));// 复制文件QFile::copy(tmplateFile, newFileName);// 获取下载的文件路径QString savePath = QFileDialog::getSaveFileName(this, "保存模板文件",saveFileName.replace(".xlsx", dateTime+".xlsx"),"Excel 文件 (*.xlsx)");if (!savePath.isEmpty()) {// 使用局部作用域确保xlsx对象及时析构QXlsx::Document xlsx(newFileName);if (xlsx.saveAs(savePath)) {qDebug() << "下载成功";} else {qDebug() << "保存失败";MyHelper::ShowMessageBoxError(tr("保存失败!"));}// 延迟删除确保操作系统释放锁. 此步骤最为关键QTimer::singleShot(100, [newFileName]() {QFile tmpFile(newFileName);if (tmpFile.exists()) {tmpFile.setPermissions(QFile::WriteOwner | QFile::ReadOwner);if (tmpFile.remove()) {qDebug() << "临时文件删除成功";} else {qDebug() << "最终删除失败:" << tmpFile.errorString();}}});}

http://www.ppmy.cn/embedded/177849.html

相关文章

Epoll 的本质与原理:高性能网络编程的基石

Epoll 的本质与原理&#xff1a;高性能网络编程的基石 在当今高并发的网络应用中&#xff0c;如何高效地处理大量的并发连接是每个开发者都需要面对的关键问题。Linux 系统提供的 epoll 技术正是解决这一问题的利器&#xff0c;被广泛应用于 Nginx、Redis、Skynet 等高性能网络…

美食菜谱数据集 | 智能体知识库 | AI大模型

https://wwwoop.com/home/Index/projectInfo?goodsId61&typeParam1&subKey-1 今天我跟大家介绍一下我自己整理的菜谱数据集&#xff0c;里面有2478个不重样的菜谱&#xff0c;涵盖了各种美食的做法。这个数据集是我花了一些时间整理出来的&#xff0c;格式为Excel&am…

MySQL 语句

MySQL 语句教程博客 MySQL 是目前广泛应用的关系型数据库管理系统&#xff0c;本文将详细介绍 MySQL 中常用的 SQL 语句及其应用&#xff0c;内容主要涵盖以下部分&#xff1a; DDL&#xff08;数据定义语言&#xff09; DML&#xff08;数据操作语言&#xff09; DQL&#…

企业网站源码HTML成品网站与网页代码模板指南

在当今数字化时代&#xff0c;企业网站已成为展示品牌形象、吸引客户和提供在线服务的重要工具。对于许多企业来说&#xff0c;使用现成的HTML网站源码模板是快速搭建网站的高效方式。本文将详细介绍企业网站源码、HTML成品网站以及网页代码模板的相关内容&#xff0c;帮助你快…

Oracle常用高可用方案(10)——DG

10.1. DG 10.1.1. 概念 DG,Dataguard的缩写,业界一般就称为DG。DG最早出现于2001年发布的Oracle 9i版本。之前的版本中,也有类似的产品或技术,但不叫DG,而是叫做Standby Database。基于多方面的因素,Oracle 9i之前的类似产品并没有得到广泛应用,而真正被广泛使用是在O…

亿级分布式系统架构演进实战(八)- 垂直拆分(领域划分及垂直分库设计)

亿级分布式系统架构演进实战&#xff08;一&#xff09;- 总体概要 亿级分布式系统架构演进实战&#xff08;二&#xff09;- 横向扩展&#xff08;服务无状态化&#xff09; 亿级分布式系统架构演进实战&#xff08;三&#xff09;- 横向扩展&#xff08;数据库读写分离&#…

微服务2.0

在编写分布式应用程序时,传统智慧认为应将应用程序拆分成独立服务,以便独立部署。这种基于微服务的架构方法充满了良好的意愿,但却常常适得其反,带来挑战,抵消架构本身试图实现的好处。从根本上说,这是因为微服务混淆了逻辑边界(代码的编写方式)和物理边界(代码的部署方式)。在…

C# SolidWorks 二次开发 -各种菜单命令增加方式

今天给大家讲一讲solidworks中各种菜单界面&#xff0c;如下图&#xff0c;大概有13处&#xff0c;也许还不完整哈。 1.CommandManager选项卡2.下拉选项卡3.菜单栏4.下级菜单5.浮动工具栏6.快捷方式工具栏7.FeatureManager工具栏区域8.MontionManager区域 ModelView?9.任务窗…