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

PyQt5中使用QFileDialogShowDirsOnly()打开文件夹

发布时间:2023-12-12 15:33:32

PyQt5中的QFileDialog是一个用于打开和保存文件的对话框类。可以使用QFileDialog.getExistingDirectory()方法来打开一个文件夹选择对话框。

以下是一个使用QFileDialog.getExistingDirectory()方法的例子:

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

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

        self.initUI()

    def initUI(self):
        self.setWindowTitle("QFileDialog Example")
        self.setGeometry(300, 300, 400, 300)

        self.button = QPushButton("Open Folder", self)
        self.button.setGeometry(150, 150, 100, 30)
        self.button.clicked.connect(self.openFolderDialog)

    def openFolderDialog(self):
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog
        folderPath = QFileDialog.getExistingDirectory(self, "Select Folder", "", options=options)
        print(folderPath)

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

在上面的例子中,我们创建了一个继承自QMainWindow的MainWindow类,窗口标题设置为"QFileDialog Example",窗口大小为400x300像素。

我们在窗口中添加了一个按钮,并设置按钮的大小和位置。按钮的点击事件连接到openFolderDialog()函数。

openFolderDialog()函数中,首先创建了一个QFileDialog.Options对象,并设置了QFileDialog.DontUseNativeDialog选项,以确保使用PyQt5的文件夹选择对话框。

接下来,我们调用QFileDialog.getExistingDirectory()方法来打开文件夹选择对话框。getExistingDirectory()方法的参数依次为父窗口、对话框标题、默认文件夹路径和选项。

最后,我们在控制台打印出所选文件夹的路径。

运行上述代码,点击按钮将会弹出文件夹选择对话框,选择一个文件夹后,所选文件夹的路径将会被打印到控制台中。

这是一个简单的例子,演示了如何使用QFileDialog.getExistingDirectory()方法在PyQt5中打开一个文件夹选择对话框。您可以根据自己的需求在此基础上进行扩展和定制。