Auf dieser Seite

FileDialog QML Type

Ein nativer Dateidialog. Mehr...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Status: Deprecated since 6.9

Dieser Typ ist seit Qt Labs Platform 6.9 veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.

Eigenschaften

Ausführliche Beschreibung

Verwenden Sie stattdessen „ QtQuick.Dialogs FileDialog “.

Der Typ `FileDialog` stellt eine QML-API für native Plattform-Dateidialoge bereit.

Ein nativer Dateidialog

Um einen Dateidialog anzuzeigen, erstellen Sie eine Instanz von `FileDialog`, legen Sie die gewünschten Eigenschaften fest und rufen Sie ` open()` auf. Mit den Eigenschaften ` currentFile ` oder ` currentFiles ` können Sie die aktuell im Dialog ausgewählten Dateien ermitteln. Die Eigenschaften ` file ` und ` files ` werden erst aktualisiert, nachdem die endgültige Auswahl durch Bestätigen 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 (bei Verwendung des GTK+-Plattformthemas)
  • macOS
  • Windows

Das Modul „ Qt Labs Platform “ verwendet „ Qt Widgets “ als Fallback auf Plattformen, auf denen keine native Implementierung verfügbar ist. Daher sollten Anwendungen, die Typen aus dem Modul „ Qt Labs Platform “ verwenden, eine Verknüpfung zu „ QtWidgets “ herstellen und „ QApplication “ anstelle von „ QGuiApplication “ verwenden.

Um eine Verknüpfung mit der Bibliothek „ QtWidgets “ herzustellen, fügen Sie Folgendes in Ihre qmake-Projektdatei ein:

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 kann nicht garantiert werden, dass die Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.

Siehe auch QtQuick.Dialogs::FileDialog, FolderDialog und StandardPaths.

Dokumentation zu den Eigenschaften

acceptLabel : string

Diese Eigenschaft enthält den Beschriftungstext, der auf der Schaltfläche angezeigt wird, mit der der Dialog geschlossen wird.

Wird hier eine leere Zeichenfolge angegeben, wird die Standardbezeichnung der zugrunde liegenden Plattform verwendet. Die Standardbezeichnung lautet in der Regel „ Open “ oder „ Save “, je nachdem, in welchem „ fileMode “ der Dialog verwendet wird.

Der Standardwert ist eine leere Zeichenkette.

Siehe auch „ rejectLabel “.

currentFile : url

Diese Eigenschaft enthält die aktuell im Dialogfeld ausgewählte Datei.

Im Gegensatz zur Eigenschaft „ file “ wird die Eigenschaft „ currentFile “ aktualisiert, während der Benutzer Dateien im Dialogfeld auswählt, noch bevor die endgültige Auswahl getroffen wurde.

Siehe auch „ file “ und „ currentFiles “.

currentFiles : list<url>

Diese Eigenschaft enthält die aktuell im Dialogfeld ausgewählten Dateien.

Im Gegensatz zur Eigenschaft „ files “ wird die Eigenschaft „ currentFiles “ aktualisiert, während der Benutzer Dateien im Dialogfeld auswählt, noch bevor die endgültige Auswahl getroffen wurde.

Siehe auch „ files “ und „ currentFile “.

defaultSuffix : string

Diese Eigenschaft enthält eine Dateiendung, die ausgewählten Dateien hinzugefügt wird, für die keine Dateiendung angegeben ist. Die Dateiendung dient in der Regel dazu, den Dateityp anzugeben (z. B. steht „txt“ für eine Textdatei).

Wenn das erste Zeichen ein Punkt ('.') ist, wird dieser entfernt.

file : url

Diese Eigenschaft enthält die zuletzt akzeptierte Datei.

Im Gegensatz zur 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 das Signal „ accepted()“ abgefangen werden, um die endgültige Auswahl zu erhalten.

Siehe auch „ currentFile “ und „ accepted()“.

fileMode : enumeration

Diese Eigenschaft gibt den Modus des Dialogfelds an.

Mögliche Werte:

KonstanteBeschreibung
FileDialog.OpenFileDer Dialog dient zur Auswahl einer vorhandenen Datei (Standard).
FileDialog.OpenFilesDer Dialog dient zur Auswahl mehrerer vorhandener Dateien.
FileDialog.SaveFileDer Dialog dient zur Auswahl einer beliebigen Datei. Die Datei muss nicht vorhanden sein.

files : list<url>

Diese Eigenschaft enthält die endgültig akzeptierten Dateien.

Im Gegensatz zur Eigenschaft „ currentFiles “ wird die Eigenschaft „ files “ 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 die Dateien zu akzeptieren. Alternativ kann das Signal „ accepted()“ abgefangen werden, um die endgültige Auswahl zu erhalten.

Siehe auch „ currentFiles “ und „ accepted()“.

folder : url

Diese Eigenschaft gibt den Ordner an, in dem Dateien ausgewählt werden. Verwenden Sie zur Auswahl eines Ordners stattdessen „FolderDialog“.

Siehe auch „ FolderDialog “.

nameFilters : list<string>

Diese Eigenschaft enthält die Filter, die die Auswahl der Dateitypen einschränken.

FileDialog {
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

Hinweis: *.* ist kein portabler Filter, da die historische Annahme, dass die Dateiendung den Dateityp bestimmt, nicht auf jedem Betriebssystem einheitlich ist. Es ist möglich, dass eine Datei keinen Punkt im Namen enthält (zum Beispiel Makefile). In einem nativen Windows-Dateidialog findet *.* solche Dateien, während dies in anderen Arten von Dateidialogen möglicherweise nicht der Fall ist. Daher ist es besser, * zu verwenden, wenn Sie eine beliebige Datei auswählen möchten.

Siehe auch selectedNameFilter.

options : flags

Diese Eigenschaft enthält die verschiedenen Optionen, die das Erscheinungsbild des Dialogfelds beeinflussen.

Standardmäßig sind alle Optionen deaktiviert.

Die Optionen sollten vor dem Anzeigen des Dialogfelds festgelegt werden. Es ist nicht garantiert, dass sich das Festlegen der Optionen bei sichtbarem Dialogfeld sofort auf das Dialogfeld auswirkt (abhängig von der Option und der Plattform).

Verfügbare Optionen:

KonstanteBeschreibung
FileDialog.DontResolveSymlinksSymlinks im Dateidialog nicht auflösen. Standardmäßig werden Symlinks aufgelöst.
FileDialog.DontConfirmOverwriteEs wird keine Bestätigung abgefragt, wenn eine bereits vorhandene Datei ausgewählt wird. Standardmäßig wird eine Bestätigung abgefragt.
FileDialog.ReadOnlyGibt an, dass im Dialog das Erstellen von Verzeichnissen nicht erlaubt ist.
FileDialog.HideNameFilterDetailsGibt an, ob die Details des Dateinamenfilters ausgeblendet sind oder nicht.

rejectLabel : string

Diese Eigenschaft enthält den Beschriftungstext, der auf der Schaltfläche angezeigt wird, mit der das Dialogfeld geschlossen wird.

Wird hier eine leere Zeichenkette angegeben, wird die Standardbezeichnung der zugrunde liegenden Plattform verwendet. Die Standardbezeichnung lautet in der Regel „ 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 legt fest, welcher „ name filter “ ausgewählt ist. Der angegebene Filter ist beim Öffnen des Dialogfelds ausgewählt. Der Wert wird aktualisiert, wenn der Benutzer einen anderen Filter auswählt.
[schreibgeschützt] name: ZeichenfolgeDiese 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: Liste<Zeichenkette>Diese Eigenschaft enthält die Liste der Dateiendungen des ausgewählten Filters. Im folgenden Beispiel lautet die Liste der Dateiendungen 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.

© 2026 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.