【PyQt小知识 - 8】:QFileDialog — 文件选择对话框(选择文件夹/文件)

2024-01-13 02:12

本文主要是介绍【PyQt小知识 - 8】:QFileDialog — 文件选择对话框(选择文件夹/文件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • QFileDialog的介绍和使用

QFileDialog的介绍和使用

QFileDialog是Qt框架中提供的一个文件选择对话框。它可以让用户通过图形界面的方式选择文件或目录,并提供了许多与文件操作相关的实用功能,例如文件过滤、文件类型限制、文件名默认值、默认目录等。

它具有以下常用的静态方法:

  1. getOpenFileName():选择单个文件打开,返回文件的完整路径。
  2. getOpenFileNames():选择多个文件打开,返回文件的完整路径列表。
  3. getSaveFileName():选择单个文件保存,返回文件的完整路径。
  4. getExistingDirectory():选择一个目录打开,返回目录的完整路径。

QFileDialog的常见用法是在QPushButton的clicked信号或QAction的triggered信号的槽函数中打开对话框,例如:

from PyQt5.QtWidgets import *
import sysclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setup_ui()def setup_ui(self):self.widget = QWidget()self.setCentralWidget(self.widget)vbox = QVBoxLayout(self.widget)btu1 = QPushButton('选择单个文件')btu2 = QPushButton('选择多个文件')btu3 = QPushButton('选择单个目录')btu1.clicked.connect(self.Select_a_single_file)btu2.clicked.connect(self.Select_multiple_files)btu3.clicked.connect(self.Select_a_single_directory)vbox.addWidget(btu1)vbox.addWidget(btu2)vbox.addWidget(btu3)# 选择单个文件def Select_a_single_file(self):file_path, _ = QFileDialog.getOpenFileName(self, "选择文件", "", "All Files (*)")if file_path:print(file_path)# 选择多个文件def Select_multiple_files(self):file_paths, _ = QFileDialog.getOpenFileNames(self, "选择文件", "/", "Excel文件 (*.xlsx *xls);;Word文件 (*.docx)")if file_paths:print(file_paths)def Select_a_single_directory(self):dir_path = QFileDialog.getExistingDirectory(self, "选择目录", "F:/", QFileDialog.ShowDirsOnly)if dir_path:print("选择的目录路径:", dir_path)if __name__ == '__main__':app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec_())

注意:在QFileDialog中,我们可以使用斜杠 “/” 指定对话框中显示的起始目录。在这个例子中,"/" 表示从文件系统的根目录开始展示文件选择对话框。""表示从当前目录开始展示文件选择对话框。实际上,你可以根据需要将起始目录更改为你想要的任何有效路径,例如当前工作目录、特定目录结构等。

运行结果:
在这里插入图片描述

  • 选择单个文件
    • 点击“选择单个文件”后,从当前目录打开文件选择对话框。
      在这里插入图片描述
      在这里插入图片描述
  • 选择多个文件
    • 点击“选择多个文件”后,从根目录打开文件选择对话框。
      在这里插入图片描述
      在这里插入图片描述
  • 选择单个目录
    • 点击“选择单个目录”后,从F盘打开文件选择对话框。
      在这里插入图片描述
      在这里插入图片描述

这篇关于【PyQt小知识 - 8】:QFileDialog — 文件选择对话框(选择文件夹/文件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599910

相关文章

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Python重命名文件并移动到对应文件夹

《Python重命名文件并移动到对应文件夹》在日常的文件管理和处理过程中,我们可能会遇到需要将文件整理到不同文件夹中的需求,下面我们就来看看如何使用Python实现重命名文件并移动到对应文件夹吧... 目录检查并删除空文件夹1. 基本需求2. 实现代码解析3. 代码解释4. 代码执行结果5. 总结方法补充在

使用PyQt实现简易文本编辑器

《使用PyQt实现简易文本编辑器》这篇文章主要为大家详细介绍了如何使用PyQt5框架构建一个简单的文本编辑器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录分析主窗口类 (MyWindow)菜单操作语法高亮 (SyntaxHighlighter)运行程序主要组件代码图示分析实现

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

mac中资源库在哪? macOS资源库文件夹详解

《mac中资源库在哪?macOS资源库文件夹详解》经常使用Mac电脑的用户会发现,找不到Mac电脑的资源库,我们怎么打开资源库并使用呢?下面我们就来看看macOS资源库文件夹详解... 在 MACOS 系统中,「资源库」文件夹是用来存放操作系统和 App 设置的核心位置。虽然平时我们很少直接跟它打交道,但了

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ