使用Pyside2打开目录FileDialog

时间:2019-07-03 12:32:29

标签: python python-3.x pyside2

我正在尝试使用Pyside2打开文件对话框,但我想选择一个文件夹,而不是文件。

我尝试使用dialog.setFileMode(QFileDialog.FileMode.Directory),但似乎提示我选择文件

示例:

import sys
from PySide2 import QtCore, QtWidgets, QtGui
from PySide2.QtCore import QFile


class MyWidget(QtWidgets.QWidget):

    def __init__(self):

        QtWidgets.QWidget.__init__(self)

        self.button = QtWidgets.QPushButton("Click me!")

        self.layout = QtWidgets.QVBoxLayout()
        self.layout.addWidget(self.button)
        self.setLayout(self.layout)
        self.button.clicked.connect(self.openbox)


    def openbox(self):
        dialog = QtWidgets.QFileDialog(self)
        dialog.setFileMode(QFileDialog.FileMode.Directory)
        path, _ = dialog.getOpenFileName()
        print(path)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    widget = MyWidget()
    widget.show()
    sys.exit(app.exec_())

我试图确定是否设置了fileMode。

    dialog = QFileDialog(self)
    dialog.setFileMode(QFileDialog.FileMode.Directory)
    print(QFileDialog.fileMode(dialog))
    path, _ = dialog.getOpenFileName()

输出:PySide2.QtWidgets.QFileDialog.FileMode.Directory 但这仍然是文件选择..

此行的行为相同:

dialog.setOption(QFileDialog.ShowDirsOnly, True)

谢谢!

0 个答案:

没有答案