/ / Wie verwende ich Optionen in QFileDialog.getOpenFileName? - python, pyqt, pyside, Optionen, qfiledialog

Wie verwende ich Optionen in QFileDialog.getOpenFileName? - python, pyqt, pyside, Optionen, qfiledialog

Ich möchte Optionen in der statischen Methode QFileDialog.getOpenFileName verwenden.

Zum Beispiel möchte ich zwei Optionen einstellen: QFileDialog.ExistingFile und QFileDialog.Detail.

Ich habe diesen Text bereits gelesen: http://pyside.github.io/docs/pyside/PySide/QtGui/QFileDialog.html?highlight=getopenfilename#PySide.QtGui.PySide.QtGui.QFileDialog.getOpenFileName aber ich verstehe nicht, wie ich PySide.QtGui.QFileDialog.Options verwenden kann?

dir = self.sourceDir
filters = "Text files (*.txt);;Images (*.png *.xpm *.jpg)"
selected_filter = "Images (*.png *.xpm *.jpg)"
options = "" # ???
fileObj = QFileDialog.getOpenFileName(self, " File dialog ", dir, filters, selected_filter, options)

Wenn ich benutze

    options  = QFileDialog.DirectoryOnly
options |= QFileDialog.List

es funktioniert nicht.

Danke für Ihre Hilfe!

(Windows 7 64 Bit, PyCharm 3.4.1 Pro, Python 3.4.0, PySide 1.2.2)

Bildbeschreibung hier eingeben

Antworten:

1 für die Antwort № 1

Dies ist nicht möglich, wenn Sie die statischen Funktionen mit einem nativen Dateidialog verwenden.

Die nativen Dateidialoge haben nicht dieselbe APIAls Qt-Datei-Dialog können Sie also nur die Eigenschaften festlegen, die über die statischen Funktionsargumente verfügbar sind - also Titel, Titel, Arbeitsverzeichnis, Filter und Optionen.

Die statischen Funktionen entsprechen mehr oder weniger den verschiedenen Funktionen Dateimodi:

AnyFile = getSaveFileName
ExistingFile = getOpenFileName
Directory = getExistingDirectory
ExistingFiles = getOpenFileNames

Bei Verwendung der statischen Funktionen wird die ShowDirsOnly Option wird nur mit funktionieren getExistingDirectory. Aber unter Windows öffnet das den nativen "Ordner durchsuchen" -Dialog (es sei denn, Sie haben den DontUseNativeDialog Option), und so die ShowDirsOnly Option wäre überflüssig.

Es gibt derzeit keine Möglichkeit, die ViewMode für einen nativen Dialog bei Verwendung der statischen Funktionen, und das gleiche gilt für alle anderen APIs, die spezifisch sind QFileDialog.

Lange Rede kurzer Sinn: Wenn Sie mehr Kontrolle über den Datei-Dialog haben wollen, benutzen Sie den eingebauten Qt One - das ist, wofür er da ist.