欢迎访问宙启技术站
智能推送

文件路径选择对话框-PyQt5.QtWidgets.QFileDialog

发布时间:2023-12-31 11:44:13

PyQt5中可以使用QFileDialog类来创建文件路径选择对话框,用户可以使用该对话框选择一个文件或文件夹。通过QFileDialog类,我们可以选择打开一个文件、保存文件或选择文件夹。

下面是一个简单的使用例子:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLabel, QFileDialog

class FileDialogExample(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("File Dialog Example")

        layout = QVBoxLayout()
        self.setLayout(layout)

        self.label = QLabel("Selected File: ")
        layout.addWidget(self.label)

        open_button = QPushButton("Open File")
        open_button.clicked.connect(self.openFile)
        layout.addWidget(open_button)

        save_button = QPushButton("Save File")
        save_button.clicked.connect(self.saveFile)
        layout.addWidget(save_button)

        select_folder_button = QPushButton("Select Folder")
        select_folder_button.clicked.connect(self.selectFolder)
        layout.addWidget(select_folder_button)

    def openFile(self):
        file_dialog = QFileDialog()
        file_name, _ = file_dialog.getOpenFileName(self, "Open File", filter="Text files (*.txt)")
        if file_name:
            self.label.setText("Selected File: " + file_name)

    def saveFile(self):
        file_dialog = QFileDialog()
        file_name, _ = file_dialog.getSaveFileName(self, "Save File", filter="Text files (*.txt)")
        if file_name:
            self.label.setText("Selected File: " + file_name)

    def selectFolder(self):
        file_dialog = QFileDialog()
        folder_name = file_dialog.getExistingDirectory(self, "Select Folder")
        if folder_name:
            self.label.setText("Selected Folder: " + folder_name)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = FileDialogExample()
    window.show()
    sys.exit(app.exec_())

在这个例子中,我们创建了一个简单的窗口,包含一个标签和三个按钮。点击"Open File"按钮时,会弹出文件选择对话框给用户选择一个文本文件。点击"Save File"按钮时,会弹出文件保存对话框给用户选择保存文件的路径和文件名。点击"Select Folder"按钮时,会弹出文件夹选择对话框给用户选择一个文件夹路径。

注意,在每个对话框的getOpenFileName、getSaveFileName和getExistingDirectory方法中,我们可以传入一个filter参数来指定文件类型的过滤器。filter参数可以是一个字符串形式的过滤器,也可以是过滤器的列表。

以上就是使用PyQt5中的QFileDialog类创建文件路径选择对话框的简单例子。希望对你有帮助!