Pysider6 QFileDialog 选择文件框
打开文件或者文件目录,获取文件夹路径,打开文件的路径:
主要是通过QtWidget中的QFileDialog类的来完成
1. QFileDialog.getExistingDirectory方法 打开文件路径
2. QFileDialog.getOpenFileName方法 打开一个文件
3. QFileDialog.getSaveFileName方法 保存一个文件
(需要配合python的文件操作,open(..,'w',..))
4. QFileDialog.getOpenFileNames方法 打开多个文件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2021/11/25 9:04
# @Author: SherryYang
# @File : a6.py
from PySide6.QtWidgets import QFileDialog, QApplication, QMainWindow, \
QWidget, QPushButton, QLabel, QLineEdit
import sys
class LearnQFileDialog(QMainWindow):
def __init__(self):
super().__init__()
self.centralWidget = QWidget()
self.setCentralWidget(self.centralWidget)
self.initUI()
def initUI(self):
self.resize(640, 480)
self.btn1 = QPushButton('open file', self.centralWidget)
self.btn1.move(300, 300)
self.btn1.clicked.connect(self.btn1Clicked)
# self.label1 = QLabel(self.centralWidget)
# self.label1.resize(200, 50)
# self.label1.move(300, 200)
self.line1 = QLineEdit(self.centralWidget)
self.line1.resize(300, 30)
self.line1.move(300, 100)
def btn1Clicked(self):
1.打开一个文件路径 getExistingDirectory
:return:
# filePath = QFileDialog.getExistingDirectory(
# self.centralWidget, # 父窗口对象
# "选择存储路径", # 标题
# r'C:\Users\user\Desktop' # 起始目录
# self.line1.setText(filePath)
2.打开一个文件 getOpenFileName
该方法返回值 是一个元组,第一个元素是选择的文件路径,第二个元素是文件类型,
如果你只想获取文件路径即可,可以采用下面的代码写法。
如果用户点击了 选择框的 取消选择按钮,返回 空字符串。
:return:
# filePath,_ = QFileDialog.getOpenFileName(
# self.centralWidget, # 父窗口对象
# "选择你要上传的图片", # 标题
# r"d:\\testsdk", # 起始目录
# "图片类型 (*.png *.jpg *.bmp)" # 选择类型过滤项,过滤内容在括号中
# self.line1.setText(filePath)
# print(filePath)
3.保存一个文件 getSaveFileName
如果你想弹出文件选择框,选择路径和文件名,来 保存一个文件 ,
可以使用 QFileDialog 静态方法 getSaveFileName ,比如
# filePath, _ = QFileDialog.getSaveFileName(
# self.centralWidget, # 父窗口对象
# "保存文件", # 标题
# r"d:\\testsdk", # 起始目录
# "json类型 (*.json)" # 选择类型过滤项,过滤内容在括号中
# f = open(filePath, 'w', encoding='utf8')
# f.write('aaa')
# f.close()
# self.line1.setText(filePath)
# print(filePath)
4.如果要选择多个文件,使用 getOpenFileNames 静态方法
上例中 filePaths 对应的返回值是一个列表,里面包含了选择的文件。
如果用户点击了 选择框的 取消选择按钮,返回 空列表。
# filePaths, _ = QFileDialog.getOpenFileNames(
# self.centralWidget, # 父窗口对象
# "选择你要上传的图片", # 标题
# r"d:\\testsdk", # 起始目录
# "图片类型 (*.png *.jpg *.bmp)" # 选择类型过滤项,过滤内容在括号中
# print(filePaths)