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

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

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

PyQt5是一个基于Qt框架的Python图形用户界面(GUI)工具包,可以用来开发跨平台的桌面应用程序。它提供了丰富的控件和功能,可以用来创建各种图形界面。

在PyQt5中,可以使用QFileDialog类来选择目录。其中,ShowDirsOnly()方法可以用来设置对话框只显示目录,而不显示文件。

下面是一个使用ShowDirsOnly()方法选择目录的示例:

from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog

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

        self.initUI()

    def initUI(self):
        self.setWindowTitle("Select Directory Example")
        self.setGeometry(100, 100, 400, 300)

        # 创建一个按钮
        self.btn = QPushButton("Select Directory", self)
        self.btn.setGeometry(150, 130, 100, 30)
        self.btn.clicked.connect(self.openDirDialog)

    def openDirDialog(self):
        # 创建一个目录选择对话框
        dir_dialog = QFileDialog(self)
        dir_dialog.setFileMode(QFileDialog.DirectoryOnly)  # 设置对话框只显示目录
        dir_dialog.setWindowTitle("Select Directory")

        # 打开对话框并获取选择的目录
        dir_path = dir_dialog.getExistingDirectory(self, "Select Directory", "/home")

        if dir_path:
            print("Selected directory path:", dir_path)

if __name__ == "__main__":
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

上面的代码中,首先导入了需要的类和方法。然后,创建一个自定义的主窗口类,继承自QMainWindow。在initUI()方法中,设置了主窗口的标题和大小,并创建了一个按钮。按钮的点击事件连接到openDirDialog()方法。

openDirDialog()方法内,创建了一个QFileDialog对象,并通过setFileMode()方法设置该对话框只显示目录。然后,使用getExistingDirectory()方法打开对话框,并获取用户选择的目录路径。

最后,如果用户选择了目录,就打印出选择的目录路径。

运行上述代码,会显示一个主窗口,点击按钮后会弹出一个目录选择对话框。用户可以选择一个目录,选择完后会在控制台输出选择的目录路径。

这是一个简单的使用PyQt5的ShowDirsOnly()方法选择目录的例子。希望能帮助你理解如何在PyQt5中使用该方法。如果有任何问题,请随时提问。