Sur cette page

FileDialog QML Type

Une boîte de dialogue de fichier native. Plus...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Status: Deprecated since 6.9

Ce type est obsolète depuis Qt.Labs.Platform 6.9. Il est fortement déconseillé de l'utiliser dans un nouveau code.

Propriétés

Description détaillée

Utilisez plutôt QtQuick.Dialogs FileDialog.

Le type FileDialog fournit une API QML pour les boîtes de dialogue de fichiers des plates-formes natives.

Un dialogue sur les fichiers natifs

Pour afficher une boîte de dialogue de fichier, construisez une instance de FileDialog, définissez les propriétés souhaitées et appelez open(). Les propriétés currentFile ou currentFiles peuvent être utilisées pour déterminer le(s) fichier(s) actuellement sélectionné(s) dans la boîte de dialogue. Les propriétés file et files ne sont mises à jour qu'une fois la sélection finale effectuée en acceptant la boîte de dialogue.

MenuItem {
    text: "Open..."
    onTriggered: fileDialog.open()
}

FileDialog {
    id: fileDialog
    currentFile: document.source
    folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
}

MyDocument {
    id: document
    source: fileDialog.file
}

Disponibilité

Une boîte de dialogue de fichier de plate-forme native est actuellement disponible sur les plates-formes suivantes :

  • Android
  • iOS
  • Linux (avec le thème de plateforme GTK+)
  • macOS
  • Windows

Le module Qt Labs Platform utilise Qt Widgets comme solution de repli sur les plateformes qui ne disposent pas d'une implémentation native. Par conséquent, les applications qui utilisent des types du module Qt Labs Platform doivent être liées à QtWidgets et utiliser QApplication au lieu de QGuiApplication.

Pour établir un lien avec la bibliothèque QtWidgets, ajoutez ce qui suit à votre fichier de projet qmake :

QT += widgets

Créez une instance de QApplication dans 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();
}

Note : La compatibilité des types dans les modules Qt.labs n'est pas garantie dans les versions futures.

Voir aussi QtQuick.Dialogs::FileDialog, FolderDialog, et StandardPaths.

Documentation sur les propriétés

acceptLabel : string

Cette propriété contient le texte de l'étiquette affichée sur le bouton qui accepte le dialogue.

Lorsqu'elle est définie comme une chaîne vide, l'étiquette par défaut de la plateforme sous-jacente est utilisée. L'étiquette par défaut est généralement Open ou Save, en fonction de la plate-forme fileMode dans laquelle la boîte de dialogue est utilisée.

La valeur par défaut est une chaîne vide.

Voir également rejectLabel.

currentFile : url

Cette propriété contient le fichier actuellement sélectionné dans la boîte de dialogue.

Contrairement à la propriété file, la propriété currentFile est mise à jour pendant que l'utilisateur sélectionne des fichiers dans la boîte de dialogue, même avant que la sélection finale n'ait été effectuée.

Voir également file et currentFiles.

currentFiles : list<url>

Cette propriété contient les fichiers actuellement sélectionnés dans la boîte de dialogue.

Contrairement à la propriété files, la propriété currentFiles est mise à jour pendant que l'utilisateur sélectionne des fichiers dans la boîte de dialogue, même avant que la sélection finale n'ait été effectuée.

Voir également files et currentFile.

defaultSuffix : string

Cette propriété contient un suffixe qui est ajouté aux fichiers sélectionnés pour lesquels aucun suffixe n'a été spécifié. Le suffixe est généralement utilisé pour indiquer le type de fichier (par exemple, "txt" indique un fichier texte).

Si le premier caractère est un point ('.'), il est supprimé.

file : url

Cette propriété contient le dernier fichier accepté.

Contrairement à la propriété currentFile, la propriété file n'est pas mise à jour pendant que l'utilisateur sélectionne des fichiers dans la boîte de dialogue, mais seulement après la sélection finale. C'est-à-dire lorsque l'utilisateur a cliqué sur OK pour accepter un fichier. Il est également possible de gérer le signal accepted() pour obtenir la sélection finale.

Voir également currentFile et accepted().

fileMode : enumeration

Cette propriété définit le mode de la boîte de dialogue.

Valeurs disponibles :

ConstanteDescription : La boîte de dialogue est utilisée pour sélectionner un fichier existant (par défaut).
FileDialog.OpenFileLa boîte de dialogue est utilisée pour sélectionner un fichier existant (par défaut).
FileDialog.OpenFilesLa boîte de dialogue est utilisée pour sélectionner plusieurs fichiers existants.
FileDialog.SaveFileLa boîte de dialogue permet de sélectionner n'importe quel fichier. Le fichier ne doit pas nécessairement exister.

files : list<url>

Cette propriété contient les derniers fichiers acceptés.

Contrairement à la propriété currentFiles, la propriété files n'est pas mise à jour pendant que l'utilisateur sélectionne des fichiers dans la boîte de dialogue, mais seulement après la sélection finale. C'est-à-dire lorsque l'utilisateur a cliqué sur OK pour accepter les fichiers. Il est également possible de gérer le signal accepted() pour obtenir la sélection finale.

Voir également currentFiles et accepted().

folder : url

Cette propriété contient le dossier dans lequel les fichiers sont sélectionnés. Pour sélectionner un dossier, utilisez plutôt FolderDialog.

Voir aussi FolderDialog.

nameFilters : list<string>

Cette propriété contient les filtres qui restreignent les types de fichiers pouvant être sélectionnés.

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

Remarque : *.* n'est pas un filtre portable, car l'hypothèse historique selon laquelle l'extension du fichier détermine le type de fichier n'est pas cohérente sur tous les systèmes d'exploitation. Il est possible d'avoir un fichier dont le nom ne comporte pas de point (par exemple, Makefile). Dans une boîte de dialogue de fichier Windows native, *.* correspondra à ce type de fichier, alors que dans d'autres types de boîtes de dialogue de fichier, ce ne sera pas le cas. Il est donc préférable d'utiliser * si vous souhaitez sélectionner n'importe quel fichier.

Voir également selectedNameFilter.

options : flags

Cette propriété contient les différentes options qui affectent l'aspect et la convivialité de la boîte de dialogue.

Par défaut, toutes les options sont désactivées.

Les options doivent être définies avant d'afficher la boîte de dialogue. Le fait de les définir alors que la boîte de dialogue est visible ne garantit pas un effet immédiat sur la boîte de dialogue (en fonction de l'option et de la plate-forme).

Options disponibles :

ConstanteDescription
FileDialog.DontResolveSymlinksNe pas résoudre les liens symboliques dans la boîte de dialogue des fichiers. Par défaut, les liens symboliques sont résolus.
FileDialog.DontConfirmOverwriteNe pas demander de confirmation si un fichier existant est sélectionné. Par défaut, une confirmation est demandée.
FileDialog.ReadOnlyIndique que la boîte de dialogue ne permet pas de créer des répertoires.
FileDialog.HideNameFilterDetailsIndique si les détails du filtre de nom de fichier sont cachés ou non.

rejectLabel : string

Cette propriété contient le texte de l'étiquette affichée sur le bouton qui rejette le dialogue.

Lorsqu'elle est définie comme une chaîne vide, l'étiquette par défaut de la plateforme sous-jacente est utilisée. L'étiquette par défaut est généralement Cancel.

La valeur par défaut est une chaîne vide.

Voir également acceptLabel.

selectedNameFilter group

selectedNameFilter.extensions : list<string>

selectedNameFilter.index : int

selectedNameFilter.name : string

Ces propriétés contiennent le filtre de nom actuellement sélectionné.

NomDescription
index: intCette propriété détermine quel name filter est sélectionné. Le filtre spécifié est sélectionné à l'ouverture de la boîte de dialogue. La valeur est mise à jour lorsque l'utilisateur sélectionne un autre filtre.
[read-only] name: stringCette propriété contient le nom du filtre sélectionné. Dans l'exemple ci-dessous, le nom du premier filtre est "Text files" et celui du second "HTML files".
[read-only] extensions: list<string>Cette propriété contient la liste des extensions du filtre sélectionné. Dans l'exemple ci-dessous, la liste des extensions du premier filtre est ["txt"] et celle du second ["html", "htm"].
FileDialog {
    id: fileDialog
    selectedNameFilter.index: 1
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

MyDocument {
    id: document
    fileType: fileDialog.selectedNameFilter.extensions[0]
}

Voir aussi 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.