FileDialog QML Type

Ein nativer Dateidialog. Mehr...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Eigenschaften

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.


currentFiles : list<url>

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:

KonstanteBeschreibung
FileDialog.OpenFileDas Dialogfeld wird verwendet, um eine vorhandene Datei auszuwählen (Standard).
FileDialog.OpenFilesDas Dialogfeld wird verwendet, um mehrere vorhandene Dateien auszuwählen.
FileDialog.SaveFileDer Dialog wird verwendet, um eine beliebige Datei auszuwählen. Die Datei muss nicht existieren.

files : list<url>

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.


nameFilters : list<string>

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:

KonstantBeschreibung
FileDialog.DontResolveSymlinksSymlinks im Dateidialog nicht auflösen. Standardmäßig werden Symlinks aufgelöst.
FileDialog.DontConfirmOverwriteNicht nach einer Bestätigung fragen, wenn eine vorhandene Datei ausgewählt wird. Standardmäßig wird eine Bestätigung angefordert.
FileDialog.ReadOnlyZeigt an, dass der Dialog das Erstellen von Verzeichnissen nicht zulässt.
FileDialog.HideNameFilterDetailsGibt 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.


selectedNameFilter group

selectedNameFilter.extensions : list<string>

selectedNameFilter.index : int

selectedNameFilter.name : string

Diese Eigenschaften enthalten den aktuell ausgewählten Namensfilter.

NameBeschreibung
index: intDiese 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: stringDiese 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.