Sur cette page

FileDialog QML Type

Une boîte de dialogue de fichier. Plus d'informations...

Import Statement: import QtQuick.Dialogs
Since: Qt 6.2
Inherits:

Dialog

Propriétés

Description détaillée

Le type FileDialog fournit une API QML pour les boîtes de dialogue de fichiers.

Le type de dialogue fichier permet aux dialogues de copier l'aspect natif de la plate-forme.

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(). La propriété currentFolder peut être utilisée pour déterminer le dossier dans lequel la boîte de dialogue s'ouvre. Les propriétés selectedFile et selectedFiles peuvent être utilisées pour déterminer quel(s) fichier(s) est (sont) sélectionné(s) à l'ouverture de la boîte de dialogue. Elles sont également mises à jour lorsque l'utilisateur sélectionne un fichier dans la boîte de dialogue et lorsque la boîte de dialogue est acceptée.

import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Dialogs

ApplicationWindow {
    width: 640
    height: 480
    visible: true

    header: ToolBar {
        Button {
            text: qsTr("Choose Image...")
            onClicked: fileDialog.open()
        }
    }

    Image {
        id: image
        anchors.fill: parent
        fillMode: Image.PreserveAspectFit
    }

    FileDialog {
        id: fileDialog
        currentFolder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0]
        onAccepted: image.source = selectedFile
    }
}

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

Qt Quick Dialogs utilise une implémentation Qt Quick comme solution de repli sur les plateformes qui ne disposent pas d'une implémentation native.

Voir également 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.

currentFolder : url

Cette propriété contient le dossier dans lequel les fichiers sont sélectionnés. Elle peut être définie pour contrôler le répertoire initial affiché lors de l'ouverture de la boîte de dialogue.

Pour sélectionner un dossier, utilisez plutôt FolderDialog.

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é.

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.

nameFilters : list<string>

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

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

Les plateformes différentes peuvent restreindre les fichiers qui peuvent être sélectionnés de différentes manières. Par exemple, macOS désactive les entrées de fichiers qui ne correspondent pas aux filtres, tandis que Windows les masque.

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.
FileDialog.DontUseNativeDialogForce la boîte de dialogue à utiliser une implémentation rapide non native.

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.

selectedFile : url

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

Elle peut être définie pour contrôler le fichier sélectionné à l'ouverture de la boîte de dialogue.

S'il y a plusieurs fichiers sélectionnés, cette propriété fait référence au premier fichier.

La valeur de cette propriété est mise à jour chaque fois que l'utilisateur sélectionne un fichier dans la boîte de dialogue et lorsque la boîte de dialogue est acceptée. Traitez le signal accepted() pour obtenir la sélection finale.

Voir également selectedFiles, accepted() et currentFolder.

selectedFiles : list<url>

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

La valeur de cette propriété est mise à jour chaque fois que l'utilisateur sélectionne des fichiers dans la boîte de dialogue et lorsque la boîte de dialogue est acceptée. Traitez le signal accepted() pour obtenir la sélection finale.

Voir également accepted() et currentFolder.

selectedNameFilter group

selectedNameFilter.extensions : list<string>

selectedNameFilter.globs : 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"].
globs: list<string> [en lecture seuleCette propriété contient la liste des globes du filtre sélectionné. Dans l'exemple ci-dessous, la liste des gants du premier filtre est ["*.txt"] et celle du second ["*.html", "*.htm"].

Cette propriété est utile en conjonction avec la propriété nameFilters de FolderListModel, par exemple.

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.