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

Eredita: ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object

Ereditato da: EditorFileDialog

Una finestra di dialogo per selezionare file o cartelle nel file system.

Descrizione

FileDialog è una finestra di dialogo preimpostata utilizzata per scegliere file e cartelle nel file system. Supporta maschere di filtro. FileDialog imposta automaticamente il titolo della sua finestra in base a file_mode. Se si desidera usare un titolo personalizzato, disattivalo impostando mode_overrides_title su false.

Nota: FileDialog è inizialmente invisibile. Per renderlo visibile, chiama uno dei metodi popup_* da Window sul nodo, come ad esempio Window.popup_centered_clamped().

Proprietà

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

Metodi

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

Proprietà del tema

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


Segnali

dir_selected(dir: String) 🔗

Emesso quando l'utente seleziona una cartella.


file_selected(path: String) 🔗

Emesso quando l'utente seleziona un file cliccando due volte su di esso o premendo il pulsante OK.


filename_filter_changed(filter: String) 🔗

Emesso quando il filtro per i nomi dei file cambia.


files_selected(paths: PackedStringArray) 🔗

Emesso quando l'utente seleziona più file.


Enumerazioni

enum FileMode: 🔗

FileMode FILE_MODE_OPEN_FILE = 0

La finestra di dialogo consente di selezionare solamente un file.

FileMode FILE_MODE_OPEN_FILES = 1

La finestra di dialogo consente di selezionare più file.

FileMode FILE_MODE_OPEN_DIR = 2

La finestra di dialogo consente solo la selezione di una cartella, non consentendo la selezione di alcun file.

FileMode FILE_MODE_OPEN_ANY = 3

La finestra di dialogo nativa dei file consente di selezionare un file o una cartella.

FileMode FILE_MODE_SAVE_FILE = 4

La finestra di dialogo avviserà quando esiste un file.


enum Access: 🔗

Access ACCESS_RESOURCES = 0

La finestra di dialogo consente l'accesso solo ai file nel percorso per i Resource (res://).

Access ACCESS_USERDATA = 1

La finestra di dialogo consente l'accesso solo ai file nel percorso dei dati utente (user://).

Access ACCESS_FILESYSTEM = 2

La finestra di dialogo consente di accedere ai file dell'intero file system.


enum DisplayMode: 🔗

DisplayMode DISPLAY_THUMBNAILS = 0

La finestra di dialogo visualizza i file come una griglia di miniature. Usa thumbnail_size per regolarne le dimensioni.

DisplayMode DISPLAY_LIST = 1

La finestra di dialogo visualizza i file come un elenco di nomi di file.


enum Customization: 🔗

Customization CUSTOMIZATION_HIDDEN_FILES = 0

Cambia la visibilità del pulsante per aggiungere ai preferiti, e dell'elenco dei preferiti sul lato sinistro della finestra di dialogo.

Equivale a favorites_enabled.

Customization CUSTOMIZATION_CREATE_FOLDER = 1

Se abilitato, mostra il pulsante per la creazione di nuove cartella (quando si utilizza FILE_MODE_OPEN_DIR, FILE_MODE_OPEN_ANY o FILE_MODE_SAVE_FILE).

Equivale a folder_creation_enabled.

Customization CUSTOMIZATION_FILE_FILTER = 2

Se abilitato, mostra il pulsante per attivare/disattivare il filtro file.

Equivale a file_filter_toggle_enabled.

Customization CUSTOMIZATION_FILE_SORT = 3

Se abilitato, mostra il pulsante per le opzioni di ordinamento dei file.

Equivale a file_sort_options_enabled.

Customization CUSTOMIZATION_FAVORITES = 4

Se abilitato, mostra il pulsante per aggiungere ai preferiti e l'elenco dei preferiti sul lato sinistro della finestra di dialogo.

Equivale a favorites_enabled.

Customization CUSTOMIZATION_RECENT = 5

Se abilitato, mostra l'elenco delle cartelle recenti sul lato sinistro della finestra di dialogo.

Equivale a recent_list_enabled.

Customization CUSTOMIZATION_LAYOUT = 6

Se abilitato, mostra i pulsanti per cambiare layout (elenco/miniature).

Equivale a 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.


Descrizioni delle proprietà

Access access = 0 🔗

L'ambito di accesso al file system.

Attenzione: Nelle build Web, FileDialog non può accedere al file system dell'host. Negli ambienti Linux e macOS in sandbox, use_native_dialog è utilizzato automaticamente per consentire un accesso limitato al file system dell'host.


String current_dir 🔗

  • void set_current_dir(value: String)

  • String get_current_dir()

La cartella di lavoro attuale della finestra di dialogo dei file.

Nota: Per le finestre di dialogo dei file native, questa proprietà viene trattata solo come un suggerimento e potrebbe non essere rispettata da alcune implementazioni del sistema operativo.


String current_file 🔗

  • void set_current_file(value: String)

  • String get_current_file()

Il file attualmente selezionato nella finestra di dialogo dei file.


String current_path 🔗

  • void set_current_path(value: String)

  • String get_current_path()

Il percorso di file attualmente selezionato nella finestra di dialogo dei file.


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 🔗

Modalità di visualizzazione dell'elenco dei file nella finestra di dialogo.


bool favorites_enabled = true 🔗

Se true, mostra il pulsante per aggiungere ai preferiti, e dell'elenco dei preferiti sul lato sinistro della finestra di dialogo.


bool file_filter_toggle_enabled = true 🔗

Se true, mostra il pulsante per attivare/disattivare il filtro file.


FileMode file_mode = 4 🔗

La modalità di apertura o salvataggio della finestra di dialogo, che influenza il comportamento di selezione.


bool file_sort_options_enabled = true 🔗

Se true, mostra il pulsante per le opzioni di ordinamento dei file.


String filename_filter = "" 🔗

  • void set_filename_filter(value: String)

  • String get_filename_filter()

Il filtro per i nomi dei file (non sensibile alle maiuscole/minuscole). Se impostato su una stringa non vuota, saranno mostrati solo i file che contengono la sottostringa. È possibile modificare filename_filter dall'utente con il pulsante filtro in cima alla finestra di dialogo dei file.

Vedi anche filters, che si dovrebbe utilizzare per limitare i tipi di file selezionabili, invece di filename_filter che dovrebbe essere impostato dall'utente.


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 🔗

Se true, mostra il pulsante per cambiare la visibilità dei file nascosti.


bool layout_toggle_enabled = true 🔗

Se true, mostra i pulsanti per cambiare layout (elenco/miniature).


bool mode_overrides_title = true 🔗

  • void set_mode_overrides_title(value: bool)

  • bool is_mode_overriding_title()

Se true, modificando la proprietà file_mode si imposterà di conseguenza il titolo della finestra (ad esempio, impostando file_mode su FILE_MODE_OPEN_FILE il titolo della finestra cambierà in "Apri un file").


int option_count = 0 🔗

  • void set_option_count(value: int)

  • int get_option_count()

Numero di OptionButton e CheckBox aggiuntivi nella finestra di dialogo.


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 🔗

Se true, mostra l'elenco delle cartelle recenti sul lato sinistro della finestra di dialogo.


String root_subfolder = "" 🔗

  • void set_root_subfolder(value: String)

  • String get_root_subfolder()

Se non è vuoto, la sottocartella specificata sarà la "radice" di questo FileDialog, ovvero l'utente non sarà in grado di andare alla sua cartella madre.

Nota: Questa proprietà è ignorata dalle finestre di dialogo native dei file.


bool show_hidden_files = false 🔗

  • void set_show_hidden_files(value: bool)

  • bool is_showing_hidden_files()

Se true, la finestra di dialogo mostrerà i file nascosti.

Nota: Questa proprietà è ignorata dalle finestre di dialogo native dei file su Android e Linux.


bool use_native_dialog = false 🔗

  • void set_use_native_dialog(value: bool)

  • bool get_use_native_dialog()

Se true, e se supportato dal DisplayServer attuale, sarà utilizzata una finestra di dialogo nativa del sistema operativo anziché quella personalizzata.

Nota: Su Android, ciò è supportato solo sui dispositivi Android 10+ e se si utilizza ACCESS_FILESYSTEM. Per le modalità di accesso ACCESS_RESOURCES e ACCESS_USERDATA, il sistema ritornerà al FileDialog personalizzato.

Nota: Su Linux e macOS, le app in sandbox utilizzano sempre le finestre di dialogo native per accedere al file system dell'host.

Nota: Su macOS, le app in sandbox salveranno i segnalibri con ambito di sicurezza per mantenere l'accesso alle cartelle aperte in più sessioni. Usa OS.get_granted_permissions() per ottenere una lista dei segnalibri salvati.

Nota: Le finestre di dialogo native sono isolate dal processo base, le proprietà della finestra di dialogo del file non si possono cambiare una volta che la finestra di dialogo viene mostrata.

Note: Questa proprietà è ignorata in EditorFileDialog.


Descrizioni dei metodi

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) 🔗

Aggiunge un OptionButton aggiuntivo alla finestra di dialogo dei file. Se values è vuoto, viene aggiunto un CheckBox.

default_value_index dovrebbe essere un indice del valore in values. Se values è vuoto, dovrebbe essere 1 (selezionato) o 0 (non selezionato).


void clear_filename_filter() 🔗

Svuota il filtro per i nomi dei file.


void clear_filters() 🔗

Cancella tutti i filtri aggiunti nella finestra di dialogo.


void deselect_all() 🔗

Cancella tutti gli elementi attualmente selezionati nella finestra di dialogo.


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() 🔗

Restituisce il LineEdit per il file selezionato.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un crash. Se desideri nascondere esso o uno dei suoi figli, usa la loro proprietà CanvasItem.visible.


int get_option_default(option: int) const 🔗

Restituisce l'indice di valore predefinito dell'OptionButton o della CheckBox con l'indice option.


String get_option_name(option: int) const 🔗

Restituisce il nome dell'OptionButton o della CheckBox con l'indice option.


PackedStringArray get_option_values(option: int) const 🔗

Restituisce un array di valori dell'OptionButton con l'indice 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 🔗

Restituisce un Dictionary con i valori selezionati degli OptionButton e/o CheckBox aggiuntivi. Le chiavi del Dictionary sono i nomi e i valori sono gli indici dei valori selezionati.


VBoxContainer get_vbox() 🔗

Restituisce il contenitore verticale della finestra di dialogo, a cui è possibile aggiungere controlli personalizzati.

Attenzione: Questo è un nodo interno necessario, rimuoverlo e liberarlo potrebbe causare un crash. Se si desidera nascondere esso o uno dei suoi figli, utilizza le loro proprietà CanvasItem.visible.

Nota: Le modifiche apportate a questo nodo vengono ignorate dalle finestre native di dialogo dei file. Utilizza invece add_option() per aggiungere elementi personalizzati alla finestra di dialogo.


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 🔗

Restituisce true se il flag specificato è abilitato.


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) 🔗

Imposta l'indice di valore predefinito dell'OptionButton o della CheckBox con l'indice option.


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

Imposta il nome dell'OptionButton o della CheckBox con l'indice option.


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

Imposta i valori di opzione dell'OptionButton con l'indice 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.


Descrizioni delle proprietà del tema

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

La tinta di colore per i file disabilitati (quando FileDialog è usato in modalità cartella aperta).


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

Il colore di modulazione applicato all'icona del file.


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

Il colore di modulazione applicato all'icona della cartella.


int thumbnail_size = 64 🔗

La dimensione delle icone in miniatura quando DISPLAY_THUMBNAILS è abilitato.


Texture2D back_folder 🔗

Icona personalizzata per la freccia indietro.


Texture2D create_folder 🔗

Icona personalizzata per il pulsante Crea cartella.


Texture2D favorite 🔗

Icona personalizzata per il pulsante Preferiti delle cartelle.


Texture2D favorite_down 🔗

Icona personalizzata per il pulsante per spostare in basso una voce aggiunta ai preferiti.


Texture2D favorite_up 🔗

Icona personalizzata per il pulsante per spostare in alto una voce aggiunta ai preferiti.


Texture2D file 🔗

Icona personalizzata per i file.


Texture2D file_thumbnail 🔗

Icona per i file in modalità miniatura.


Texture2D folder 🔗

Icona personalizzata per le cartelle.


Texture2D folder_thumbnail 🔗

Icona per le cartelle in modalità miniatura.


Texture2D forward_folder 🔗

Icona personalizzata per la freccia avanti.


Texture2D list_mode 🔗

Icona per il pulsante che abilita la modalità elenco.


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 🔗

Icona personalizzata per la freccia della cartella padre.


Texture2D reload 🔗

Icona personalizzata per il pulsante di ricarica.


Texture2D sort 🔗

Icona personalizzata per il menu delle opzioni di ordinamento.


Texture2D thumbnail_mode 🔗

Icona per il pulsante che abilita la modalità miniatura.


Texture2D toggle_filename_filter 🔗

Icona personalizzata per l'Interruttore del filtro per i nomi di file.


Texture2D toggle_hidden 🔗

Icona personalizzata per l'Interruttore dei file nascosti.