PyQt6 QFileDialog文件对话框控件

锋哥原创的PyQt6视频教程:

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计49条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV11C4y1P7fj/

PyQt6中的文件对话框使用QFileDialog类表示,该类继承自QDialog类,它允许用户选择文件或者文件夹,也允许用户遍历文件系统,以便选择一个或多个文件或者文件夹。

QFileDialog类的常用方法:

方法说明
getOpenFileName()获取一个打开文件的文件名
getOpenFileNames()获取多个打开文件的文件名
getSaveFileName()获取保存的文件名
getExistingDirectory()获取一个打开的文件夹
setAcceptMode()设置接收模式,取值如下。 QFileDialog.AcceptOpen:设置文件对话框为打开模式,这是默认值; OFileDialog.AcceptSave:设置文件对话框为保存模式
setDefaultSuffix()设置文件对话框中的文件名的默认后缀名
setFileMode()设置可以选择的文件类型,取值如下。 QFileDialog.FileMode.AnyFile:任意文件(无论文件是否存在)﹔ QFileDialog.FileMode.ExistingFile:已存在的文件; QFileDialog.FileMode.ExistingFiles:已存在的多个文件; QFileDialog.FileMode.Directory:文件夹; QFileDialog.FileMode.DirectoryOnly:文件夹(选择时只能选中文件夹)
setDirectory()设置文件对话框的默认打开位置
setNameFilter()设置名称过滤器,多个类型的过滤器之间用两个分号分割(例如:所有文件(.);Python文件(.py))﹔而一个过滤器中如果有多种格式,可以用空格分割(例如:图片文件(.jpg .png.bmp))
setViewMode()设置显示模式,取值如下。 QFileDialog.Detail:显示文件详细信息,包括文件名、大小、日期等信息; QFileDialog.List:以列表形式显示文件名
selectedFile()获取选择的一个文件或文件夹名字
selectedFiles()获取选择的多个文件或文件夹名字

UI生成代码:

from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(566, 438)self.pushButton = QtWidgets.QPushButton(parent=Form)self.pushButton.setGeometry(QtCore.QRect(210, 180, 75, 23))self.pushButton.setObjectName("pushButton")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.pushButton.setText(_translate("Form", "选择文件"))

Main测试代码:

"""python加载ui文件作者 : 小锋老师官网 : www.python222.com
"""
import sysfrom PyQt6.QtWidgets import QApplication, QPushButton, QFileDialog
from PyQt6 import uicdef selectFile():fd = QFileDialog()fd.setFileMode(QFileDialog.FileMode.ExistingFiles)  # 设置多选fd.setDirectory('C:\\')  # 设置初始化路径fd.setNameFilter('图片文件(*.jpg *.png *.bmp *.ico *.gif)')  # 设置只选择图片文件if fd.exec():  # 执行print(fd.selectedFiles())if __name__ == '__main__':app = QApplication(sys.argv)ui = uic.loadUi("./QFileDialog文件对话框控件.ui")pushButton: QPushButton = ui.pushButtonpushButton.clicked.connect(selectFile)ui.show()sys.exit(app.exec())

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微店商品API:电商的实时数据利器

一、引言 随着电商行业的快速发展,越来越多的消费者选择通过电商平台进行购物。微店作为电商领域的一种新型模式,凭借其便捷性和个性化服务,吸引了大量用户。为了满足用户对商品信息的快速获取需求,微店提供了商品详情API接口。本…

Spark编程实验二:RDD编程初级实践

目录 一、目的与要求 二、实验内容 三、实验步骤 1、pyspark交互式编程 2、编写独立应用程序实现数据去重 3、编写独立应用程序实现求平均值问题 4、三个综合实例 四、结果分析与实验体会 一、目的与要求 1、熟悉Spark的RDD基本操作及键值对操作; 2、熟悉使…

如何记录函数递归的次数----静态局部变量的使用

记录函数递归的次数,不像是其他普通的函数,只需要一个简单的局部变量作为计数器,每次就好了,函数递归是不断地调用函数,换言之,如果你将一个局部变量定义在函数的内部,那么每次递归都会创建一个这样的变量,每次的值都会初始化,这样也就达不到记录递归次数的目的. 为了解决这个…

极狐GitLab DevSecOps 之容器镜像安全扫描

容器镜像安全 现状 最近某银行遭受供应链攻击的事件传的沸沸扬扬,安全又双叒叕进入了人们的视野。安全确实是一个非常重要,但是又最容易被忽略的话题。但是现在到了一个不得不人人重视安全,人人为安全负责的时代。尤其以现在非常火爆的云原…

【LeetCode: 2276. 统计区间中的整数数目 | 线段树】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

龙芯loongarch64安装numpy报错“No module named ‘numpy.core._multiarray_umath‘”

前言 在之前编译安装Python3.8的文章中说明了,龙芯仓库的很多包都有问题,安装之后很多无法使用,比如安装numpy后,就会出现“No module named numpy.core._multiarray_umath” 问题复现 配置pip源 vim /etc/pip.conf 复制下面的内容并保存 [global] timeout = 60 index-url…

抖店怎么快速起店?不掺杂汤汤水水,全是干货!

我是电商珠珠 我做抖店也已经有三年的时间了,团队也从原来的几人扩大到了70。对于抖店的玩法已经完全摸透熟通,在做店的同时也会带着学生一起做店,他们经常问的问题就是抖店怎么快速起店。 今天,我就来给大家做个分享。根据我的…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Text文本组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之文本组件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、文本组件 Text 是显示文本的基础组件之一,它可以包含子组件 Span &…

Python 自动化之收发邮件(一)

imapclient / smtplib 收发邮件 文章目录 imapclient / smtplib 收发邮件前言一、基本内容二、发送邮件1.整体代码 三、获取邮件1.整体代码 总结 前言 简单给大家写个如何用Python进行发邮件和查看邮件教程,希望对各位有所帮助。 一、基本内容 本文主要分为两部分…

选择排序、快速排序和插入排序

1. 选择排序 xuanze_sort.c #include<stdio.h> #include<stdlib.h>//选择排序void xuanze_sort(int arr[],int sz){//正着for(int i0;i<sz;i){//外层循环从第一个数据开始依次作为基准数据for(int j i1;j<sz;j){//int j i1 因为第一个数据作为了基准数据&…

挑战内网安全难题,迅软DSE如何以管控之力助您一臂之力?

随着信息化程度的提高&#xff0c;政企单位面临更加复杂和不可控的内网安全问题。由于缺乏有效技术手段和完善的管理机制&#xff0c;企业内网管理长期处于被动状态&#xff0c;而在发生数据安全事件后的快速处置能力也相对薄弱。 迅软DSE桌面管理系统成为解决方案&#xff0c…

【第2期】Springboot如何快速集成SpringSecurity

简单介绍 本专栏主要结合实战讲解&#xff0c;不过多介绍细节的概念&#xff0c;概念可以通过搜索引擎查找&#xff0c;一搜一大把&#xff0c;切入正题。 本专栏的实战项目是基于SpringbootSpringSecurityRSAJWTVUE的全栈开发项目&#xff0c;每个环节都会专门讲&#xff0c;…