FileDialog QML Type
Ein nativer Dateidialog. Mehr...
Import Statement: | import Qt.labs.platform |
Inherits: |
Eigenschaften
- acceptLabel : string
- currentFile : url
- currentFiles : list<url>
- defaultSuffix : string
- file : url
- fileMode : enumeration
- files : list<url>
- folder : url
- nameFilters : list<string>
- options : flags
- rejectLabel : string
- selectedNameFilter
- selectedNameFilter.extensions : list<string>
- selectedNameFilter.index : int
- selectedNameFilter.name : string
Detaillierte Beschreibung
Der Typ FileDialog bietet eine QML-API für plattformspezifische Dateidialoge.
Um einen Dateidialog anzuzeigen, konstruieren Sie eine Instanz von FileDialog, setzen die gewünschten Eigenschaften und rufen open() auf. Die Eigenschaften currentFile oder currentFiles können verwendet werden, um die aktuell ausgewählte(n) Datei(en) im Dialog zu bestimmen. Die Eigenschaften file und files werden erst aktualisiert, wenn die endgültige Auswahl durch Akzeptieren des Dialogs getroffen wurde.
MenuItem { text: "Open..." onTriggered: fileDialog.open() } FileDialog { id: fileDialog currentFile: document.source folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation) } MyDocument { id: document source: fileDialog.file }
Verfügbarkeit
Ein plattformspezifischer Dateidialog ist derzeit auf den folgenden Plattformen verfügbar:
- Android
- iOS
- Linux (wenn mit dem GTK+-Plattformthema ausgeführt)
- macOS
- Windows
Das Qt Labs Platform Modul verwendet Qt Widgets als Fallback auf Plattformen, für die keine native Implementierung verfügbar ist. Daher sollten Anwendungen, die Typen aus dem Qt Labs Platform Modul verwenden, mit QtWidgets verknüpft werden und QApplication anstelle von QGuiApplication verwenden.
Um gegen die QtWidgets-Bibliothek zu linken, fügen Sie das Folgende zu Ihrer qmake-Projektdatei hinzu:
QT += widgets
Erstellen Sie eine Instanz von QApplication in main()
:
#include <QApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); }
Hinweis: Es ist nicht garantiert, dass Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.
Siehe auch FolderDialog und StandardPaths.
Eigenschaft Dokumentation
acceptLabel : string |
Diese Eigenschaft enthält den Beschriftungstext, der auf der Schaltfläche angezeigt wird, die den Dialog akzeptiert.
Wenn sie auf einen leeren String gesetzt ist, wird die Standardbeschriftung der zugrunde liegenden Plattform verwendet. Die Standardbeschriftung ist in der Regel Open oder Save, je nachdem, in welchem fileMode das Dialogfeld verwendet wird.
Der Standardwert ist eine leere Zeichenkette.
Siehe auch rejectLabel.
currentFile : url |
Diese Eigenschaft enthält die aktuell ausgewählte Datei im Dialogfeld.
Anders als die Eigenschaft file wird die Eigenschaft currentFile
aktualisiert, während der Benutzer Dateien im Dialogfeld auswählt, auch bevor die endgültige Auswahl getroffen wurde.
Siehe auch file und currentFiles.
Diese Eigenschaft enthält die aktuell ausgewählten Dateien im Dialogfeld.
Im Gegensatz zur Eigenschaft files wird die Eigenschaft currentFiles
aktualisiert, während der Benutzer im Dialogfeld Dateien auswählt, noch bevor die endgültige Auswahl getroffen wurde.
Siehe auch files und currentFile.
defaultSuffix : string |
Diese Eigenschaft enthält ein Suffix, das ausgewählten Dateien hinzugefügt wird, für die kein Suffix angegeben wurde. Das Suffix wird normalerweise verwendet, um den Dateityp anzugeben (z. B. "txt" steht für eine Textdatei).
Wenn das erste Zeichen ein Punkt ('.') ist, wird er entfernt.
file : url |
Diese Eigenschaft enthält die endgültig akzeptierte Datei.
Anders als die Eigenschaft currentFile wird die Eigenschaft file
nicht aktualisiert, während der Benutzer im Dialogfeld Dateien auswählt, sondern erst, nachdem die endgültige Auswahl getroffen wurde. Das heißt, wenn der Benutzer auf OK geklickt hat, um eine Datei zu akzeptieren. Alternativ kann auch das Signal accepted() verwendet werden, um die endgültige Auswahl zu erhalten.
Siehe auch currentFile und accepted().
fileMode : enumeration |
Diese Eigenschaft enthält den Modus des Dialogs.
Verfügbare Werte:
Konstante | Beschreibung |
---|---|
FileDialog.OpenFile | Das Dialogfeld wird verwendet, um eine vorhandene Datei auszuwählen (Standard). |
FileDialog.OpenFiles | Das Dialogfeld wird verwendet, um mehrere vorhandene Dateien auszuwählen. |
FileDialog.SaveFile | Der Dialog wird verwendet, um eine beliebige Datei auszuwählen. Die Datei muss nicht existieren. |
Diese Eigenschaft enthält die endgültig akzeptierten Dateien.
Anders als die Eigenschaft currentFiles wird die Eigenschaft files
nicht aktualisiert, während der Benutzer Dateien im Dialogfeld auswählt, sondern erst, nachdem die endgültige Auswahl getroffen wurde. Das heißt, wenn der Benutzer auf OK geklickt hat, um Dateien zu akzeptieren. Alternativ kann auch das Signal accepted() verwendet werden, um die endgültige Auswahl zu erhalten.
Siehe auch currentFiles und accepted().
folder : url |
Diese Eigenschaft enthält den Ordner, in dem die Dateien ausgewählt wurden. Für die Auswahl eines Ordners verwenden Sie stattdessen FolderDialog.
Siehe auch FolderDialog.
Diese Eigenschaft enthält die Filter, die die auswählbaren Dateitypen einschränken.
FileDialog { nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"] }
Hinweis: *.* ist kein portabler Filter, da die historische Annahme, dass die Dateierweiterung den Dateityp bestimmt, nicht auf allen Betriebssystemen konsistent ist. Es ist möglich, eine Datei ohne Punkt in ihrem Namen zu haben (z. B. Makefile
). In einem Windows-eigenen Dateidialog wird *.* mit solchen Dateien übereinstimmen, während dies in anderen Dateidialogen möglicherweise nicht der Fall ist. Es ist also besser, * zu verwenden, wenn Sie eine beliebige Datei auswählen wollen.
Siehe auch selectedNameFilter.
options : flags |
Diese Eigenschaft enthält die verschiedenen Optionen, die das Aussehen des Dialogs beeinflussen.
Standardmäßig sind alle Optionen deaktiviert.
Die Optionen sollten eingestellt werden, bevor das Dialogfeld angezeigt wird. Wenn sie gesetzt werden, während das Dialogfeld sichtbar ist, ist nicht garantiert, dass sie eine unmittelbare Auswirkung auf das Dialogfeld haben (abhängig von der Option und der Plattform).
Verfügbare Optionen:
Konstant | Beschreibung |
---|---|
FileDialog.DontResolveSymlinks | Symlinks im Dateidialog nicht auflösen. Standardmäßig werden Symlinks aufgelöst. |
FileDialog.DontConfirmOverwrite | Nicht nach einer Bestätigung fragen, wenn eine vorhandene Datei ausgewählt wird. Standardmäßig wird eine Bestätigung angefordert. |
FileDialog.ReadOnly | Zeigt an, dass der Dialog das Erstellen von Verzeichnissen nicht zulässt. |
FileDialog.HideNameFilterDetails | Gibt an, ob die Details des Filters für den Dateinamen verborgen sind oder nicht. |
rejectLabel : string |
Diese Eigenschaft enthält den Beschriftungstext, der auf der Schaltfläche angezeigt wird, die den Dialog ablehnt.
Wenn sie auf eine leere Zeichenfolge gesetzt ist, wird die Standardbeschriftung der zugrunde liegenden Plattform verwendet. Die Standardbeschriftung ist normalerweise Cancel.
Der Standardwert ist eine leere Zeichenkette.
Siehe auch acceptLabel.
Diese Eigenschaften enthalten den aktuell ausgewählten Namensfilter.
Name | Beschreibung |
---|---|
index: int | Diese Eigenschaft bestimmt, welcher name filter ausgewählt ist. Der angegebene Filter wird ausgewählt, wenn der Dialog geöffnet wird. Der Wert wird aktualisiert, wenn der Benutzer einen anderen Filter auswählt. |
[Nur-Lesezugriff] name: string | Diese Eigenschaft enthält den Namen des ausgewählten Filters. Im folgenden Beispiel lautet der Name des ersten Filters "Text files" und der des zweiten "HTML files" . |
[schreibgeschützt] extensions: list<string> | Diese Eigenschaft enthält die Liste der Erweiterungen des ausgewählten Filters. Im folgenden Beispiel lautet die Liste der Erweiterungen des ersten Filters ["txt"] und die des zweiten ["html", "htm"] . |
FileDialog { id: fileDialog selectedNameFilter.index: 1 nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"] } MyDocument { id: document fileType: fileDialog.selectedNameFilter.extensions[0] }
Siehe auch nameFilters.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.