PyQt5选择文件控件QFileDialog

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

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

getOpenFileName():选择单个文件打开,返回文件的完整路径。
getOpenFileNames():选择多个文件打开,返回文件的完整路径列表。
getSaveFileName():选择单个文件保存,返回文件的完整路径。
getExistingDirectory():选择一个目录打开,返回目录的完整路径。
QFileDialog的常见用法是在QPushButton的clicked信号或QAction的triggered信号的槽函数中打开对话框,例如:

from PyQt5.QtWidgets import *
import sys


class 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_())

posted @   星空28  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示