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

使用PyQt5的ShowDirsOnly()方法选择目录

发布时间:2023-12-12 15:35:19

PyQt5是一个流行的Python库,用于创建图形用户界面(GUI)应用程序。它包含了许多方便的类和方法,可以轻松地创建功能丰富的应用程序。

在PyQt5中,提供了一个用于选择目录的方法ShowDirsOnly()。当调用该方法时,会弹出一个对话框,只允许用户选择目录,而不是文件。以下是使用ShowDirsOnly()方法选择目录的示例:

import sys
from PyQt5.QtWidgets import QApplication, QFileDialog

def select_directory():
    app = QApplication(sys.argv)

    # 创建一个QFileDialog对象
    dialog = QFileDialog()
    dialog.setFileMode(QFileDialog.DirectoryOnly)  # 设置对话框只能选择目录

    # 调用ShowDirsOnly()方法
    selected_directory = dialog.getExistingDirectory(
        None,
        "Select a directory",
        '',
        QFileDialog.ShowDirsOnly
    )

    # 打印用户选择的目录
    print(f"Selected directory: {selected_directory}")

    sys.exit(app.exec_())

if __name__ == '__main__':
    select_directory()

上述代码中,首先导入了必要的模块,包括sysQApplication。然后在select_directory()函数中,创建了一个QFileDialog对话框对象,通过调用setFileMode()方法将对话框的文件模式设置为仅选择目录。

接下来,调用getExistingDirectory()方法弹出对话框,参数QFileDialog.ShowDirsOnly指示对话框只允许选择目录。该方法将返回用户选择的目录的路径。

最后,通过sys.exit(app.exec_())启动应用程序的事件循环,确保程序正常退出。

当运行上述代码时,将弹出一个文件选择对话框,只允许选择目录。用户选择目录后,程序将打印所选择的目录的路径。

这是一个使用PyQt5的ShowDirsOnly()方法选择目录的示例。该方法非常实用,可以帮助您方便地处理目录选择功能。