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)