PySide6进阶教程 | 实现单、多个各类文件的导入

2024-08-26 05:36

本文主要是介绍PySide6进阶教程 | 实现单、多个各类文件的导入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


前言

在PySide6中实现文件导入功能可以通过使用QFileDialog类来完成。QFileDialog提供了多种模式,可以根据需要选择单个文件或多个文件的导入。 本章将详细介绍如何利用QFileDialog类来实现单个文件或多个文件的导入功能,并结合按钮组件来触发相关事件。


🚀🚀🚀 Pyside6实战教程专栏目录入口:点击跳转


目录

  • 一、单文件导入
    • 示例
  • 二、多文件导入
    • 示例
  • 三、文件夹导入

一、单文件导入

核心代码:

file_name, _ = QFileDialog.getOpenFileName(self, "选择单个文件", "", "All Files (*)")

这样打开的默认位置是程序文件所在的位置,允许用户选择一个任意文件。如果需要固定默认打开的位置,可对其进行修改,添加绝对路径

file_name, _ = QFileDialog.getOpenFileName(self, "选择单个文件", "D:", "All Files (*)")

示例

from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QLabel, QFileDialogclass FileImportApp(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle("File Import App")# 设置中心小部件和布局central_widget = QWidget(self)self.setCentralWidget(central_widget)layout = QVBoxLayout(central_widget)# 添加标签和按钮self.label = QLabel("示例")layout.addWidget(self.label)button = QPushButton("打开文件")button.clicked.connect(self.select_file)layout.addWidget(button)def select_file(self):file_name, _ = QFileDialog.getOpenFileName(self, "Select File", "", "All Files (*)")if file_name:self.label.setText(f"Selected file: {file_name}")if __name__ == "__main__":app = QApplication([])window = FileImportApp()window.show()app.exec()

二、多文件导入

核心代码:

files, _ = QFileDialog.getOpenFileNames(self, "选择多个文件", "", "All Files (*)")

使用QFileDialog.getOpenFileNames()返回的files参数是一个数组,数组里每个元素是一个文件路径名

示例

修改上面的程序,使其能够选择多个文件,并将它们的路径显示在一个列表中。

from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QListWidget, QFileDialogclass MultiFileImportApp(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle("Multiple File Import App")central_widget = QWidget()self.setCentralWidget(central_widget)layout = QVBoxLayout()self.file_list = QListWidget()layout.addWidget(self.file_list)button = QPushButton("选择多个文件")button.clicked.connect(self.select_files)layout.addWidget(button)central_widget.setLayout(layout)def select_files(self):files, _ = QFileDialog.getOpenFileNames(self, "Select Files", "", "All Files (*)")if files:self.file_list.clear()for file in files:self.file_list.addItem(file)if __name__ == "__main__":app = QApplication([])window = MultiFileImportApp()window.show()app.exec()

三、文件夹导入

核心代码:

folder_name = QFileDialog.getExistingDirectory(self, "选择文件夹","D:")

最后一个参数是默认打开的所处位置。

示例与上面二个相似,这里就不再做详细介绍了。

在这里插入图片描述

这篇关于PySide6进阶教程 | 实现单、多个各类文件的导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

菲律宾诈骗,请各位华人朋友警惕各类诈骗。

骗子招聘类型:程序开发、客服、财务、销售总管、打字员等 如果有人用高薪、好的工作环境来你出国工作。要小心注意!因为这些骗子是成群结伴的! 只要你进入一个菲律宾的群,不管什么类型的群都有这些骗子团伙。基本上是他们控制的! 天天在群里有工作的信息,工作信息都是非常诱惑人的。例如招“打字员”、“客服”、“程序员”……各种信息都有。只要你提交简历了,他会根据你的简历判断你这个人如何。所谓的心理战嘛!

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo