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

PyQt5ShowDirsOnly()方法选择文件夹示例

发布时间:2023-12-12 15:34:38

PyQt5是Python中使用的一个GUI库,可以用来创建图形用户界面应用程序。其中的QFileDialog类提供了一个对话框,用于选择文件或者文件夹。

在QFileDialog中,有一个方法叫做getExistingDirectory(),可以让用户选择一个文件夹。这个方法返回选中的文件夹的路径。

下面是一个使用PyQt5中的QFileDialog.getExistingDirectory()方法选择文件夹的示例:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog

class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Select Directory Example')
        self.show()

    def ShowDirsOnly(self):
        # 获取文件夹路径
        directory = QFileDialog.getExistingDirectory(self, "选择文件夹", "~/Desktop", QFileDialog.ShowDirsOnly)
        # 如果用户点击了取消按钮,则返回空字符串
        if directory:
            print(f"选择的文件夹路径为:{directory}")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.ShowDirsOnly()
    sys.exit(app.exec_())

在这个示例中,我们创建了一个继承自QWidget的Example类。在Example类的initUI()方法中设置了窗口的大小和标题,并将其显示出来。

在Example类中还定义了一个名为ShowDirsOnly()的方法。这个方法主要用来调用QFileDialog.getExistingDirectory()方法并获取选择的文件夹路径。

当点击按钮时,程序会弹出一个文件夹选择对话框。在这个对话框中,只能选择文件夹,而不能选择文件。用户选择了文件夹之后,选择的文件夹路径会被打印出来。

需要注意的是,在传递参数给QFileDialog.getExistingDirectory()方法时,我们使用了QFileDialog.ShowDirsOnly参数。这个参数用来设置只显示文件夹,而不显示文件。

添加示例代码后,你可以运行程序,并点击按钮选择一个文件夹。选中的文件夹路径将会被打印出来。

通过这个示例,你可以学会使用PyQt5中的QFileDialog.getExistingDirectory()方法选择文件夹,并且设置只能显示文件夹的效果。