PyQt5调用Window弹窗,选择文件、选择多个文件、选择文件夹、保存文件

news2024/11/24 7:57:01
前言
本篇在讲什么

PyQt5调取windows选择和导出弹窗
本篇适合什么

适合初学Python的小白
适合使用pyqt5的开发项目

本篇需要什么

Python语法有简单认知
依赖Python3.7环境
依赖Pycharm编辑器

本篇的特色

具有全流程的图文教学
重实践,轻理论,快速上手
提供全流程的源码内容


★提高阅读体验★

👉 ♠ 一级标题 👈

👉 ♥ 二级标题 👈

👉 ♣ 三级标题 👈

👉 ♦ 四级标题 👈


目录

  • ♠ 前言
  • ♠ 选择
    • ♥ 选择单个文件
    • ♥ 选择多个文件
    • ♥ 选择文件夹
  • ♠ 保存
  • ♠ 推送
  • ♠ 结语


♠ 前言

最近有需求,需要调起windows的窗口,去选择文件或者去保存文件,就是我们常见的选择窗,Qt框架提供了对应的接口,本篇就通过Pyqt5的代码实现

在这里插入图片描述


♠ 选择

首先我们需要在代码中引入QFileDialog

from PyQt5.QtWidgets import QFileDialog

♥ 选择单个文件

调用以下代码可以调起选择窗口

下述代码意味着默认打开路径为桌面的test文件夹,只查看png文件,窗口名字叫做选择文件

fileInfo = QFileDialog.getOpenFileName(UI_WIN, "选择文件", "C:/Users/Administrator/Desktop/test", "Png(*.png)")

在这里插入图片描述
在这里插入图片描述

  • 参数1:父节点窗口
  • 参数2:窗口名字
  • 参数3:默认打开弹窗的显示路径
  • 参数4:过滤文件,多格式写法files(*.png *.txt),显示全部写法all files(*)
  • 返回值:包含文件路径和过滤配置,不选择依然返回,不过是空值,如下图所示

在这里插入图片描述


♥ 选择多个文件

在大多情况下我们需要选择多个文件,并获取其信息,这个时候我们用下边的接口

fileInfo = QFileDialog.getOpenFileNames(UI_WIN, "选择多文件", "C:/Users/Administrator/Desktop/test", "all files(*)")

在这里插入图片描述

和单选几乎没有区别,就是接口多了个s,参数作用一直,输出文件信息多个


♥ 选择文件夹

下面代码让我们可以选择单个文件夹,并获取对应文件夹的路径信息

dirInfo = QFileDialog.getExistingDirectory(UI_WIN, "选择文件夹", "C:/Users/Administrator/Desktop")

在这里插入图片描述
在这里插入图片描述

  • 参数1:父节点窗口
  • 参数2:窗口名字
  • 参数3:默认打开弹窗的显示路径
  • 返回值:选择文件夹的路径

♠ 保存

上文我们已经了解到如何去选择文件和文件夹,这次我们去处理如何调出保存弹窗

fileInfo = QFileDialog.getSaveFileName(UI_WIN, "保存文件", "C:/Users/Administrator/Desktop/test", "all files(*)")

在这里插入图片描述
在这里插入图片描述

  • 参数1:父节点窗口
  • 参数2:窗口名字
  • 参数3:默认打开弹窗的显示路径
  • 参数4:过滤文件,多格式写法files(*.png *.txt),显示全部写法all files(*)
  • 返回值:根据输入文件名和当前路径的组合地址,关闭则返回空值

♠ 推送

  • Github
https://github.com/KingSun5

♠ 结语

若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

👉 本文属于原创文章,转载请评论留言,并在转载文章头部著名作者出处👈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

01. 找到数组的中间位置 ——【Leetcode每日一题】

1991. 找到数组的中间位置 难度:简单 给你一个下标从 0 开始的整数数组 nums ,请你找到 最左边 的中间位置 middleIndex (也就是所有可能中间位置下标最小的一个)。 中间位置 middleIndex 是满足 nums[0] nums[1] … nums[m…

【dc-dc】降压恒压电源管理IC 平衡车控制器 电动车控制器 以太网交换机驱动芯片

产品 AP8851 一款宽电压范围降压型DC-DC 电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合在宽输入电压范围具有优良的负载和线性调整度。AP8851 芯片包含每周期的峰值限流、软启动、过压保护和…

【计算机视觉 | 目标检测】术语理解9:AIGC的理解,对比学习,解码器,Mask解码器,耦合蒸馏,半耦合,图像编码器和组合解码器的耦合优化

文章目录 一、AIGC的理解二、对比学习三、解码器四、Mask解码器五、耦合蒸馏六、半耦合七、图像编码器和组合解码器的耦合优化 一、AIGC的理解 AIGC指的是使用人工智能技术自动生成的各类数字内容,包括文本、图像、音频、视频等。它利用机器学习模型进行智能化内容生成。 主要…

Oracle快速将A库的数据库对象同步到B库(包括数据)

1.在pl/sql中导出A的用户对象 2.导出表数据,直接导PDE文件 如果PDE不行的话就到选择第一个dmp 3.然后把用户B的对象重新创建一遍,数据导进去。 创建对象的时候table和sequence都要删掉重新创建,不然会报已存在。

你会合并数组吗?采用数组大小顺序排列合并C语言实现

第一个代码块进行的是两个数组进行合并,然后顺序排列出来定义两个数组里面各有几个元素然后采用循环输入相应的数字,这里注意是要在每一个数组中顺序排列的,也就是从大到小输入之后采用循环进行比较比较完跳出循环后因为两个数组中元素个数不…

【安装】安装MySQL 相关配置 Navicat 的使用入门 SQL语句初步

目录 安装MySQL选择custom选择MySQL Server选择服务安装路径和数据存储路径 配置MySQL配置端口号选择授权方式设置root用户的密码 Navicat建立连接新建数据库新建表添加字段设置主键 SQL语句DML(重点)DQL(重点)运算符其它函数增删…

视频去除水印怎么做?四个方法分享给你!

水印是在许多视频中常见的一种保护措施,但有时它有可能会妨碍我们对视频内容的欣赏。如果你想去除视频中的水印,下面将介绍四种简单有效的方法,让你轻松解决这个问题。 方法一:使用记灵在线工具 记灵在线工具是一款强大的在线视…

Shell通配符和正则表达式

目录 ​​​​​​​grep 通配符 正则表达式 grep grep家族有三大成员分别为: grep:支持使用基本正则表达式。 egrep:支持使用扩展正则表达式。 fgrep:不支持使用正则表达式,即所有的正则表达式中的元字符都将作…

mt管理器使用(app管理)

http://www.360doc.com/content/12/0121/07/13646414_997668971.shtml

常用的访问控制权限模型DAC RBAC

常用的访问控制权限模型DAC RBAC 文章目录 常用的访问控制权限模型DAC RBACLinux 自主访问控制与强制访问控制术语概念存取访问控制 Access Control自主访问控制强制访问控制 基于角色的权限控制模型RBAC模型管理方法RBAC0的管理命令RBAC0的系统支持方法RBAC0的高级审查持方法 …

❤️创意网页:经典透明登录页面(好看易学易用)

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…

thinkphp模型递归查询

效果图: 查询代码: use app\model\Menu;function getMenuList(string $uid) {$list Menu::where(pid, $uid)->select();foreach ($list as $val) {$val[children] getMenuList($val->uid);}return $list; }function getMenuBelong(string $uid)…

springboot人事管理系统

本项目在开发和设计过程中涉及到原理和技术有: B/S、java技术和MySQL数据库等等;将按以下章节进行开发设计; 绪论;剖析项目背景,说明研究的内容。 开发技术;系统主要使用了java技术,b/s模式和myspl数据库,并…

如何操作MySQL数据库数据

目录 一、MySQL数据库概念 数据 表(数据表) 数据库 数据库管理系统 数据库的建立和维护功能 数据定义功能 数据操纵功能 数据库的运行管理功能 通信功能 数据流向 二、主流数据库分类 1.SQL Server 数据库 (微软分公司产品&…

【力扣算法11】之 8. 字符串转换整数 (atoi) python

文章目录 问题描述示例1示例2示例3提示 思路分析代码分析完整代码详细分析运行效果截图调用示例运行结果 完结 问题描述 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 m…

基于scrcpy的Android群控项目重构,集成Appium服务执行自动化测试用例

系列文章目录 基于scrcpy的Android群控项目重构 基于scrcpy的Android群控项目重构 进阶版 基于scrcpy的Android群控项目重构,获取Android屏幕元素信息并编写自动化事件(视频) 基于scrcpy的Android群控项目重构,获取Android屏幕…

大数据与视频技术的融合趋势将带来怎样的场景应用?

视频技术和AI技术的融合是一种新兴的技术趋势,它将改变视频行业的运作方式。视频技术和AI技术的融合主要包括以下几个方面: 1)人脸识别技术 人脸识别技术是AI技术的一个重要应用场景。它可以通过对视频中的人脸进行识别和分析,实…

Spark(23):SparkStreaming之DStream转换

目录 0. 相关文章链接 1. DStream转换概述 2. 无状态转化操作 2.1. Transform 2.2. join 3. 有状态转化操作 3.1. UpdateStateByKey 3.2. WindowOperations 0. 相关文章链接 Spark文章汇总 1. DStream转换概述 DStream 上的操作与 RDD 的类似,分为 Transf…

测试计划(详细版)

目录 简介 测试计划的目的 测试计划的作用 范围 编写条件 注意事项 评审总结 参考模版 测试策略 简介 数据和数据库完整性测试 接口测试 集成测试 功能测试 用户界面测试 性能评测 负载测试 强度测试 容量测试 安全性和访问控制测试 故障转移和恢复测试 …

【linux】“gdb“调试方法与技巧

"gdb"调试方法与技巧 一、什么是gdb?二、gdb的使用进入gdb调试list/l 查看源码l/list行号list/l函数名 run/r运行break(b)设置断点info break查看断点信息finishn/next单条执行s/step进入函数调用p 变量set var修改变量的值continue/cdisable breakpionts…