Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

FileDialog

Hérite de : ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object

Hérité par : EditorFileDialog

Une boîte de dialogue pour sélectionner des fichiers ou des répertoires dans le système de fichiers.

Description

FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. FileDialog automatically sets its window title according to the file_mode. If you want to use a custom title, disable this by setting mode_overrides_title to false.

Note: FileDialog is invisible by default. To make it visible, call one of the popup_* methods from Window on the node, such as Window.popup_centered_clamped().

Propriétés

Access

access

0

String

current_dir

String

current_file

String

current_path

bool

deleting_enabled

true

bool

dialog_hide_on_ok

false (overrides AcceptDialog)

DisplayMode

display_mode

0

bool

favorites_enabled

true

bool

file_filter_toggle_enabled

true

FileMode

file_mode

4

bool

file_sort_options_enabled

true

String

filename_filter

""

PackedStringArray

filters

PackedStringArray()

bool

folder_creation_enabled

true

bool

hidden_files_toggle_enabled

true

bool

layout_toggle_enabled

true

bool

mode_overrides_title

true

int

option_count

0

int

option_{index}/default

0

String

option_{index}/name

""

PackedStringArray

option_{index}/values

PackedStringArray()

bool

overwrite_warning_enabled

true

bool

recent_list_enabled

true

String

root_subfolder

""

bool

show_hidden_files

false

Vector2i

size

Vector2i(640, 360) (overrides Window)

String

title

"Save a File" (overrides Window)

bool

use_native_dialog

false

Méthodes

void

add_filter(filter: String, description: String = "", mime_type: String = "")

void

add_option(name: String, values: PackedStringArray, default_value_index: int)

void

clear_filename_filter()

void

clear_filters()

void

deselect_all()

PackedStringArray

get_favorite_list() static

LineEdit

get_line_edit()

int

get_option_default(option: int) const

String

get_option_name(option: int) const

PackedStringArray

get_option_values(option: int) const

PackedStringArray

get_recent_list() static

Dictionary

get_selected_options() const

VBoxContainer

get_vbox()

void

invalidate()

bool

is_customization_flag_enabled(flag: Customization) const

void

popup_file_dialog()

void

set_customization_flag_enabled(flag: Customization, enabled: bool)

void

set_favorite_list(favorites: PackedStringArray) static

void

set_get_icon_callback(callback: Callable) static

void

set_get_thumbnail_callback(callback: Callable) static

void

set_option_default(option: int, default_value_index: int)

void

set_option_name(option: int, name: String)

void

set_option_values(option: int, values: PackedStringArray)

void

set_recent_list(recents: PackedStringArray) static

Propriétés du thème

Color

file_disabled_color

Color(1, 1, 1, 0.25)

Color

file_icon_color

Color(1, 1, 1, 1)

Color

folder_icon_color

Color(1, 1, 1, 1)

int

thumbnail_size

64

Texture2D

back_folder

Texture2D

create_folder

Texture2D

favorite

Texture2D

favorite_down

Texture2D

favorite_up

Texture2D

file

Texture2D

file_thumbnail

Texture2D

folder

Texture2D

folder_thumbnail

Texture2D

forward_folder

Texture2D

list_mode

Texture2D

menu_copy_path

Texture2D

menu_delete

Texture2D

menu_new_folder

Texture2D

menu_open_bundle

Texture2D

menu_refresh

Texture2D

menu_show_in_file_manager

Texture2D

parent_folder

Texture2D

reload

Texture2D

sort

Texture2D

thumbnail_mode

Texture2D

toggle_filename_filter

Texture2D

toggle_hidden


Signaux

dir_selected(dir: String) 🔗

Émis quand l'utilisateur sélectionne un dossier.


file_selected(path: String) 🔗

Émis lorsque l'utilisateur sélectionne un fichier en le double-cliquant ou en appuyant sur le bouton OK.


filename_filter_changed(filter: String) 🔗

Émis lorsque le filtre pour les noms de fichiers change.


files_selected(paths: PackedStringArray) 🔗

Émis quand l'utilisateur sélectionne plusieurs fichiers.


Énumérations

enum FileMode: 🔗

FileMode FILE_MODE_OPEN_FILE = 0

Le dialogue n'autorise la sélection que d'un seul fichier.

FileMode FILE_MODE_OPEN_FILES = 1

Le dialogue permet de sélectionner plusieurs fichiers.

FileMode FILE_MODE_OPEN_DIR = 2

Le dialogue ne permet de sélectionner que des dossiers, et aucun fichier.

FileMode FILE_MODE_OPEN_ANY = 3

Le dialogue permet de sélectionner un fichier ou dossier.

FileMode FILE_MODE_SAVE_FILE = 4

Le dialogue avertira si un fichier existe déjà.


enum Access: 🔗

Access ACCESS_RESOURCES = 0

Cette fenêtre ne permet d'uniquement d'accéder qu'aux fichiers sous le chemin Resource (res://).

Access ACCESS_USERDATA = 1

Cette fenêtre ne permet d'uniquement d'accéder qu'aux fichiers sous le chemin des données utilisateur (user://).

Access ACCESS_FILESYSTEM = 2

Le dialogue permet d'accéder à tous les fichiers du système de fichiers.


enum DisplayMode: 🔗

DisplayMode DISPLAY_THUMBNAILS = 0

Le dialogue affiche les fichiers en tant que grille de miniatures. Utilisez thumbnail_size pour ajuster leur taille.

DisplayMode DISPLAY_LIST = 1

La fenêtre affiche les fichier en tant que liste de noms de fichier.


enum Customization: 🔗

Customization CUSTOMIZATION_HIDDEN_FILES = 0

Toggles visibility of the favorite button, and the favorite list on the left side of the dialog.

Equivalent to hidden_files_toggle_enabled.

Customization CUSTOMIZATION_CREATE_FOLDER = 1

If enabled, shows the button for creating new directories (when using FILE_MODE_OPEN_DIR, FILE_MODE_OPEN_ANY, or FILE_MODE_SAVE_FILE).

Equivalent to folder_creation_enabled.

Customization CUSTOMIZATION_FILE_FILTER = 2

If enabled, shows the toggle file filter button.

Equivalent to file_filter_toggle_enabled.

Customization CUSTOMIZATION_FILE_SORT = 3

If enabled, shows the file sorting options button.

Equivalent to file_sort_options_enabled.

Customization CUSTOMIZATION_FAVORITES = 4

If enabled, shows the toggle favorite button and favorite list on the left side of the dialog.

Equivalent to favorites_enabled.

Customization CUSTOMIZATION_RECENT = 5

If enabled, shows the recent directories list on the left side of the dialog.

Equivalent to recent_list_enabled.

Customization CUSTOMIZATION_LAYOUT = 6

If enabled, shows the layout switch buttons (list/thumbnails).

Equivalent to layout_toggle_enabled.

Customization CUSTOMIZATION_OVERWRITE_WARNING = 7

If enabled, the FileDialog will warn the user before overwriting files in save mode.

Equivalent to overwrite_warning_enabled.

Customization CUSTOMIZATION_DELETE = 8

If enabled, the context menu will show the "Delete" option, which allows moving files and folders to trash.

Equivalent to deleting_enabled.


Descriptions des propriétés

Access access = 0 🔗

The file system access scope.

Warning: In Web builds, FileDialog cannot access the host file system. In sandboxed Linux and macOS environments, use_native_dialog is automatically used to allow limited access to host file system.


String current_dir 🔗

  • void set_current_dir(value: String)

  • String get_current_dir()

The current working directory of the file dialog.

Note: For native file dialogs, this property is only treated as a hint and may not be respected by specific OS implementations.


String current_file 🔗

  • void set_current_file(value: String)

  • String get_current_file()

L'actuel fichier sélectionné dans le dialogue de choix de fichier.


String current_path 🔗

  • void set_current_path(value: String)

  • String get_current_path()

L'actuel chemin de fichier sélectionné dans le dialogue de fichier.


bool deleting_enabled = true 🔗

If true, the context menu will show the "Delete" option, which allows moving files and folders to trash.


DisplayMode display_mode = 0 🔗

Mode d'affichage de la liste des fichiers de la boîte de dialogue.


bool favorites_enabled = true 🔗

If true, shows the toggle favorite button and favorite list on the left side of the dialog.


bool file_filter_toggle_enabled = true 🔗

If true, shows the toggle file filter button.


FileMode file_mode = 4 🔗

Le mode d'ouverture ou de sauvegarde de la fenêtre, qui affecte le comportement de la sélection.


bool file_sort_options_enabled = true 🔗

If true, shows the file sorting options button.


String filename_filter = "" 🔗

  • void set_filename_filter(value: String)

  • String get_filename_filter()

The filter for file names (case-insensitive). When set to a non-empty string, only files that contains the substring will be shown. filename_filter can be edited by the user with the filter button at the top of the file dialog.

See also filters, which should be used to restrict the file types that can be selected instead of filename_filter which is meant to be set by the user.


PackedStringArray filters = PackedStringArray() 🔗

The available file type filters. Each filter string in the array should be formatted like this: *.png,*.jpg,*.jpeg;Image Files;image/png,image/jpeg. The description text of the filter is optional and can be omitted. Both file extensions and MIME type should be always set.

Note: Embedded file dialogs and Windows file dialogs support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedStringArray for more details.


bool folder_creation_enabled = true 🔗

If true, shows the button for creating new directories (when using FILE_MODE_OPEN_DIR, FILE_MODE_OPEN_ANY, or FILE_MODE_SAVE_FILE), and the context menu will have the "New Folder..." option.


bool hidden_files_toggle_enabled = true 🔗

Si true, affiche le bouton pour activer/désactiver les fichiers cachés.


bool layout_toggle_enabled = true 🔗

Si true, affiche les boutons pour changer de disposition (liste/aperçus).


bool mode_overrides_title = true 🔗

  • void set_mode_overrides_title(value: bool)

  • bool is_mode_overriding_title()

Si true, changer la propriété file_mode définira le titre de la fenêtre en conséquence (par exemple, définir file_mode à FILE_MODE_OPEN_FILE modifiera le titre de la fenêtre en "Ouvrir un fichier").


int option_count = 0 🔗

  • void set_option_count(value: int)

  • int get_option_count()

Le nombre d'OptionButtons et de CheckBoxs supplémentaires dans la fenêtre.


int option_{index}/default = 0 🔗

The default value for the option at index.

Note: index is a value in the 0 .. option_count - 1 range.


String option_{index}/name = "" 🔗

The name of the option at index.

Note: index is a value in the 0 .. option_count - 1 range.


PackedStringArray option_{index}/values = PackedStringArray() 🔗

The list of values for the option at index.

Note: index is a value in the 0 .. option_count - 1 range.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedStringArray for more details.


bool overwrite_warning_enabled = true 🔗

If true, the FileDialog will warn the user before overwriting files in save mode.


bool recent_list_enabled = true 🔗

Si true, affiche la liste des répertoires récents sur le côté gauche de la fenêtre.


String root_subfolder = "" 🔗

  • void set_root_subfolder(value: String)

  • String get_root_subfolder()

Si non vide, le sous-dossier donné sera la "racine" de ce FileDialog, c'est-à-dire que l'utilisateur ne pourra pas accéder à son répertoire parent.

Note : Cette propriété est ignorée par les boîtes de dialogue de fichier natives.


bool show_hidden_files = false 🔗

  • void set_show_hidden_files(value: bool)

  • bool is_showing_hidden_files()

Si true, la fenêtre affichera les fichiers cachés.

Note : Cette propriété est ignorée par les boîtes de dialogue de fichier natives sur Android et Linux.


bool use_native_dialog = false 🔗

  • void set_use_native_dialog(value: bool)

  • bool get_use_native_dialog()

If true, and if supported by the current DisplayServer, OS native dialog will be used instead of custom one.

Note: On Android, it is only supported when using ACCESS_FILESYSTEM. For access mode ACCESS_RESOURCES and ACCESS_USERDATA, the system will fall back to custom FileDialog.

Note: On Linux and macOS, sandboxed apps always use native dialogs to access the host file system.

Note: On macOS, sandboxed apps will save security-scoped bookmarks to retain access to the opened folders across multiple sessions. Use OS.get_granted_permissions() to get a list of saved bookmarks.

Note: Native dialogs are isolated from the base process, file dialog properties can't be modified once the dialog is shown.

Note: This property is ignored in EditorFileDialog.


Descriptions des méthodes

void add_filter(filter: String, description: String = "", mime_type: String = "") 🔗

Adds a comma-separated file extension filter and comma-separated MIME type mime_type option to the FileDialog with an optional description, which restricts what files can be picked.

A filter should be of the form "filename.extension", where filename and extension can be * to match any string. Filters starting with . (i.e. empty filenames) are not allowed.

For example, a filter of "*.png, *.jpg", a mime_type of image/png, image/jpeg, and a description of "Images" results in filter text "Images (*.png, *.jpg)".

Note: Embedded file dialogs and Windows file dialogs support only file extensions, while Android, Linux, and macOS file dialogs also support MIME types.


void add_option(name: String, values: PackedStringArray, default_value_index: int) 🔗

Ajoute un OptionButton supplémentaire au dialogue de fichier. Si values est vide, une CheckBox est ajoutée à la place.

default_value_index devrait être un index de la valeur dans les values. Si values est vide, il doit valoir soit 1 (coché), soit 0 (non coché).


void clear_filename_filter() 🔗

Vide le filtre pour les noms de fichier.


void clear_filters() 🔗

Efface tous les filtres ajoutés au dialogue.


void deselect_all() 🔗

Clear all currently selected items in the dialog.


PackedStringArray get_favorite_list() static 🔗

Returns the list of favorite directories, which is shared by all FileDialog nodes. Useful to store the list of favorites between project sessions. This method can be called only from the main thread.


LineEdit get_line_edit() 🔗

Renvoie le LineEdit pour le fichier sélectionné.

Avertissement : Il s'agit d'un nœud interne nécessaire, le retirer et le libérer peut causer un plantage. Si vous voulez le cacher lui ou l'un de ses enfants, utilisez plutôt CanvasItem.visible.


int get_option_default(option: int) const 🔗

Renvoie l'index de valeur par défaut de l'OptionButton ou de la CheckBox avec l'index option.


String get_option_name(option: int) const 🔗

Renvoie le nom de l'OptionButton ou de la CheckBox avec l'index option.


PackedStringArray get_option_values(option: int) const 🔗

Renvoie un tableau des valeurs de l'OptionButton avec l'index option.


PackedStringArray get_recent_list() static 🔗

Returns the list of recent directories, which is shared by all FileDialog nodes. Useful to store the list of recents between project sessions. This method can be called only from the main thread.


Dictionary get_selected_options() const 🔗

Renvoie un Dictionary avec les valeurs sélectionnées des OptionButtons et/ou des CheckBoxs supplémentaires. Les clés du Dictionary sont des noms et les valeurs sont les indices des valeur sélectionnées.


VBoxContainer get_vbox() 🔗

Returns the vertical box container of the dialog, custom controls can be added to it.

Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their CanvasItem.visible property.

Note: Changes to this node are ignored by native file dialogs, use add_option() to add custom elements to the dialog instead.


void invalidate() 🔗

Invalidates and updates this dialog's content list.

Note: This method does nothing on native file dialogs.


bool is_customization_flag_enabled(flag: Customization) const 🔗

Returns true if the provided flag is enabled.


void popup_file_dialog() 🔗

Shows the FileDialog using the default size and position for file dialogs, and selects the file name if there is a current file.


void set_customization_flag_enabled(flag: Customization, enabled: bool) 🔗

Sets the specified customization flag, allowing to customize the features available in this FileDialog.


void set_favorite_list(favorites: PackedStringArray) static 🔗

Sets the list of favorite directories, which is shared by all FileDialog nodes. Useful to restore the list of favorites saved with get_favorite_list(). This method can be called only from the main thread.

Note: FileDialog will update its internal ItemList of favorites when its visibility changes. Be sure to call this method earlier if you want your changes to have effect.


void set_get_icon_callback(callback: Callable) static 🔗

Sets the callback used by the FileDialog nodes to get a file icon, when DISPLAY_LIST mode is used. The callback should take a single String argument (file path), and return a Texture2D. If an invalid texture is returned, the file icon will be used instead.


void set_get_thumbnail_callback(callback: Callable) static 🔗

Sets the callback used by the FileDialog nodes to get a file icon, when DISPLAY_THUMBNAILS mode is used. The callback should take a single String argument (file path), and return a Texture2D. If an invalid texture is returned, the file_thumbnail icon will be used instead.

Thumbnails are usually more complex and may take a while to load. To avoid stalling the application, you can use ImageTexture to asynchronously create the thumbnail.

func _ready():
    FileDialog.set_get_thumbnail_callback(thumbnail_method)

func thumbnail_method(path):
    var image_texture = ImageTexture.new()
    make_thumbnail_async(path, image_texture)
    return image_texture

func make_thumbnail_async(path, image_texture):
    var thumbnail_texture = await generate_thumbnail(path) # Some method that generates a thumbnail.
    image_texture.set_image(thumbnail_texture.get_image())

void set_option_default(option: int, default_value_index: int) 🔗

Définit l'index de valeur par défaut de l'OptionButton ou de la CheckBox avec l'index option.


void set_option_name(option: int, name: String) 🔗

Définit le nom de l'OptionButton ou de la CheckBox avec l'index option.


void set_option_values(option: int, values: PackedStringArray) 🔗

Définit les valeurs des options de l'OptionButton avec l'index option.


void set_recent_list(recents: PackedStringArray) static 🔗

Sets the list of recent directories, which is shared by all FileDialog nodes. Useful to restore the list of recents saved with set_recent_list(). This method can be called only from the main thread.

Note: FileDialog will update its internal ItemList of recent directories when its visibility changes. Be sure to call this method earlier if you want your changes to have effect.


Descriptions des propriétés du thème

Color file_disabled_color = Color(1, 1, 1, 0.25) 🔗

La teinte de couleur pour les fichiers désactivés (lorsque le FileDialog est utilisé en mode ouverture de dossier).


Color file_icon_color = Color(1, 1, 1, 1) 🔗

La couleur de modulation appliquée à l'icône de fichier.


Color folder_icon_color = Color(1, 1, 1, 1) 🔗

La couleur de modulation appliquée à l'icône de dossier.


int thumbnail_size = 64 🔗

The size of thumbnail icons when DISPLAY_THUMBNAILS is enabled.


Texture2D back_folder 🔗

Icône personnalisée pour la flèche arrière.


Texture2D create_folder 🔗

Icône personnalisée pour le bouton de création de dossier.


Texture2D favorite 🔗

Icône personnalisée pour le bouton de dossier favori.


Texture2D favorite_down 🔗

Custom icon for button to move down a favorite entry.


Texture2D favorite_up 🔗

Custom icon for button to move up a favorite entry.


Texture2D file 🔗

Icône personnalisée pour les fichiers.


Texture2D file_thumbnail 🔗

Icône pour les fichiers en mode miniatures.


Texture2D folder 🔗

Icône personnalisée pour les dossiers.


Texture2D folder_thumbnail 🔗

Icône pour les dossiers en mode miniatures.


Texture2D forward_folder 🔗

Icône personnalisée pour la flèche avant.


Texture2D list_mode 🔗

Icon for the button that enables list mode.


Texture2D menu_copy_path 🔗

Icon for the "Copy Path" context menu option.


Texture2D menu_delete 🔗

Icon for the "Delete" context menu option.


Texture2D menu_new_folder 🔗

Icon for the "New Folder..." context menu option. Usually it should be the same as create_folder; leave it empty if you want the context menu to show no icons.


Texture2D menu_open_bundle 🔗

Icon for the "Show Package Contents" context menu option. The option only appears for macOS bundles.


Texture2D menu_refresh 🔗

Icon for the "Refresh" context menu option. Usually it should be the same as reload; leave it empty if you want the context menu to show no icons.


Texture2D menu_show_in_file_manager 🔗

Icon for the "Show in File Manager" context menu option.


Texture2D parent_folder 🔗

L'icône personnalisée pour la flèche du dossier parent.


Texture2D reload 🔗

Icône personnalisée pour le bouton de rechargement.


Texture2D sort 🔗

Custom icon for the sorting options menu.


Texture2D thumbnail_mode 🔗

Icon for the button that enables thumbnail mode.


Texture2D toggle_filename_filter 🔗

Custom icon for the toggle button for the filter for file names.


Texture2D toggle_hidden 🔗

L'icône personnalisé pour le bouton d'affichage.