ich meinen eigenen benutzerdefinierte Datei-Dialog zu schaffen mit dem folgenden Code:QFileDialog Ordner und Dateien anzeigen, aber nur Ordner auswählen?
file_dialog = QtGui.QFileDialog()
file_dialog.setFileMode(QtGui.QFileDialog.Directory)
file_dialog.setViewMode(QtGui.QFileDialog.Detail)
file_dialog.setOption(QtGui.QFileDialog.DontUseNativeDialog, True)
Das Verhalten, das ich interessiert bin ist, dass der Benutzer in der Lage sein, beiden Dateien und Ordner anzeigen, aber wählen Sie Ordner nur. (Dateien nicht auswählbar machen). Ist das möglich?
Hinweis: Mit der DirectoryOnly
Option ist nicht gut für mich, da es nicht zulässt, dass Dateien anzuzeigen, nur Ordner.
bearbeiten (extra Code, i, die anstelle von nur einem mehrere Ordner auswählen zu können, die für vergaß hinzuzufügen):
file_view = file_dialog.findChild(QtGui.QListView, 'listView')
if file_view:
file_view.setSelectionMode(QtGui.QAbstractItemView.MultiSelection)
f_tree_view = file_dialog.findChild(QtGui.QTreeView)
if f_tree_view:
f_tree_view.setSelectionMode(QtGui.QAbstractItemView.MultiSelection)
Der Code, den Sie gepostet haben, macht genau das, was Sie sagen, dass Sie wollen (dh der Benutzer kann Dateien und Verzeichnisse anzeigen, aber nur Verzeichnisse auswählen). Vielleicht müssen Sie genauer erklären, was Sie erreichen möchten. – ekhumoro
Nicht wirklich .. der Code oben erlaubt Ihnen, auch Dateien zu wählen. – YaronGh
Für mich wird die Schaltfläche "Auswählen" nur aktiviert, wenn ich Verzeichnisse auswähle. Es ist möglich * Dateien * auszuwählen, aber nicht zu wählen (weil die Schaltfläche deaktiviert ist). – ekhumoro