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

使用PyQt5的ShowDirsOnly()方法选择目录基本示例

发布时间:2023-12-12 15:39:29

PyQt5是一个流行的Python图形用户界面库,它提供了许多方便的方法和类来构建富有交互性的应用程序。其中一个方法是QFileDialog.getExistingDirectory(),它可以用来选择目录。

在使用getExistingDirectory()方法时,我们可以指定一个参数作为对话框的标题,同时还可以选择只显示目录(而不是文件)的选项。这个选项可以通过调用QFileDialog.ShowDirsOnly来实现。

下面是一个基本的示例,展示如何使用PyQt5的getExistingDirectory()方法来选择目录,并选择只显示目录的选项。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("Select Directory Example")

        button = QPushButton("Select Directory", self)
        button.clicked.connect(self.select_directory)
        button.move(50, 50)

    def select_directory(self):
        directory = QFileDialog.getExistingDirectory(self, "Select Directory", "", QFileDialog.ShowDirsOnly)
        
        if directory:
            print("Selected Directory:", directory)


if __name__ == "__main__":
    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    sys.exit(app.exec_())

在这个示例中,我们创建了一个继承自QMainWindow的主窗口类MainWindow。在构造函数中,我们设置了窗口的标题,并创建了一个按钮。当按钮被点击时,它将触发select_directory()方法。

select_directory()方法调用了getExistingDirectory()方法来显示一个目录选择对话框。我们传递了对话框的标题,空字符串作为默认目录,以及QFileDialog.ShowDirsOnly作为选项来只显示目录。

如果用户选择了一个目录,我们将在控制台输出所选目录的路径。

要运行这个示例,您需要安装PyQt5库。您可以使用pip命令来安装它:

pip install PyQt5

然后,将示例代码保存到一个文件中,比如main.py,并在命令行中运行它:

python main.py

当您点击"Select Directory"按钮时,将弹出一个目录选择对话框。您可以浏览并选择一个目录,并在控制台上打印出所选目录的路径。

这是PyQt5中使用getExistingDirectory()方法选择目录的基本示例,同时选择只显示目录的选项。您可以根据自己的需求对这个示例进行定制和扩展。