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

【PyQt】下载文件时弹出提示用户选择保存文件位置的对话框

1 需求

在界面软件中,用户点击下载某个文件,此时软件需要提示用户选择保存到电脑的某个位置,然后软件才能将文件保存到用户指定的电脑文件夹中。

2 代码

# 需引入的库
import os
import sys
from PyQt5.QtWidgets import QFileDialogsrc = './data/skb_tmp.xlsx'  # 待下载的模板文件,存放在项目中的data文件夹
fo = open(src, 'rb')  # 只读 二进制 模式打开
with fo:filedata = fo.read()  # 读入内存 filedata变量
fo.close()# 函数返回2个值:文件存放路径,文件类型
# 给用户一个默认文件名myfile.xlsx
destpath, filetype = QFileDialog.getSaveFileName(self, "文件保存", "myfile.xlsx", "Excel工作簿 (*.xlsx)")
if destpath:  # 如果获取的路径非空fi = open(destpath, 'wb')  # 写 二进制 模式创建/写入文件with fi:fi.write(filedata)  # 写入用户电脑fi.close()
else:  # 用户点击取消后的处理,否则程序会出错退出QMessageBox.information(self, "提示", "由于未选择保存位置,文件保存操作已取消")

此代码读写均是采用二进制方式,因此可以适用包括文本文件、音视频文件、图像文件、办公文档、压缩包等在内的一切文件。

也可以由程序指定一个默认的保存位置,只需将 

myfile.xlsx

改为路径全称即可,如下

D:\myfile.xlsx

3 运行效果

对话框效果图。

 用户只需点击保存或者手动选择其他文件夹。

当用户点击取消时,弹出“保存操作取消”的提示框。

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

相关文章:

  • 工具分享 | PDF文档解析工具PyMuPDF
  • QML Book 学习基础5(An Image Viewer)
  • 解决Jackson解析JSON时出现的Illegal Character错误
  • feign和openfeign的区别
  • Python飞机大战小游戏
  • 【python爬虫】7.爬到的数据存到哪里?
  • Docker 的快速使用
  • Docker consul容器服务自动发现和更新
  • MPI内置类型与自定义类型
  • 【ES新特性三】Object 原型、原型链相关方法
  • 学习大数据应该掌握哪些基础语言
  • Kubernetes技术--k8s核心技术 ingress
  • 中级深入--day15
  • 内存四区(个人学习笔记黑马学习)
  • 如何使用RPA + ChatGPT自动化提高自己的工作效率
  • uni-app之android项目配置和打包
  • go语言配置
  • 【深度学习】ChatGPT
  • 爬虫--爬取自己想去的目的的车票信息
  • Metinfo6.0.0任意文件读取【漏洞复现】
  • Postgresql JSON对象和数组查询
  • 搭配购买——并查集+01背包
  • JVM调优指令参数
  • 数据结构入门 — 队列
  • MongoDB - 安装
  • Qt应用开发(基础篇)——颜色选择器 QColorDialog
  • vscode 清除全部的console.log
  • UG\NX CAM二次开发 插入工序 UF_OPER_create
  • C++指针、指针函数、函数指针、类指针
  • 图:最短路径问题(BFS算法,Dijkstra算法,Floyd算法)