我正在尝试使用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)
谢谢!