FileDialog

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

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.

Proprietà

Access

access

0

String

current_dir

String

current_file

String

current_path

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

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 = "")

void

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

void

clear_filename_filter()

void

clear_filters()

void

deselect_all()

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

Dictionary

get_selected_options() const

VBoxContainer

get_vbox()

void

invalidate()

bool

is_customization_flag_enabled(flag: Customization) const

void

set_customization_flag_enabled(flag: Customization, enabled: bool)

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)

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

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.


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.


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

I filtri di tipo file disponibili. Ogni stringa di filtro nell'array dovrebbe essere formattata in questo modo: *.png,*.jpg,*.jpeg;Image Files;image/png,image/jpeg. Il testo descrittivo del filtro è facoltativo e può essere omesso. Sia le estensioni file che il tipo MIME dovrebbero essere sempre impostati.

Nota: Sia le finestre di dialogo incorporate, sia le finestre di dialogo su Windows supportano solo le estensioni dei file, mentre su Android, Linux e macOS esse supportano anche i tipi MIME.

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 🔗

Se true, mostra il pulsante per creare nuove cartelle (quando si utilizza FILE_MODE_OPEN_DIR, FILE_MODE_OPEN_ANY o FILE_MODE_SAVE_FILE).


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.


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.


Descrizioni dei metodi

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

Aggiunge un'opzione di filtro (filter) delimitata da virgole per i nomi dei file a FileDialog con una descrizione (description) facoltativa, che limita i file che si possono selezionare.

filter dovrebbe essere del formato "filename.extension", dove filename ed extension possono essere * per corrispondere a qualsiasi stringa. I filtri che iniziano con . (ad esempio i nomi vuoti dei file) non sono consentiti.

Ad esempio, un filter di "*.png, *.jpg" e una description di "Immagini " generano il testo del filtro "Immagini (*.png, *.jpg)".


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.


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.


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

Invalida e aggiorna la lista dei contenuti attuale nella finestra di dialogo.

Nota: Questo metodo non fa nulla sulle finestre di dialogo dei file native.


bool is_customization_flag_enabled(flag: Customization) const 🔗

Restituisce true se il flag specificato è abilitato.


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

Attiva/disattiva il flag di personalizzazione specificato, consentendo di personalizzare le funzionalità disponibili in questo FileDialog. Per le opzioni, vedi Customization.


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.


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 🔗

Custom icon for favorite folder button.


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 🔗

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