FileDialog

Успадковує: ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object

Діалогове вікно вибору файлів або каталогів у файловій системі.

Опис

FileDialog - це діалогове вікно, яке використовується для вибору файлів та каталогів у файловій системі. Підтримує фільтрувальні маски. FileDialog автоматично встановлює назву вікна згідно з файл_mode. Якщо ви хочете використовувати користувацьке звання, відключити це за допомогою параметра mode_overrides_title до false.

Властивості

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

Методи

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)

Властивості теми

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


Сигнали

dir_selected(dir: String) 🔗

Увімкніть, коли користувач вибирає каталог.


file_selected(path: String) 🔗

Увімкніть, коли користувач вибирає файл, натиснувши кнопку OK.


filename_filter_changed(filter: String) 🔗

Видається, коли змінюється фільтр імен файлів.


files_selected(paths: PackedStringArray) 🔗

Увімкнено, коли користувач вибирає декілька файлів.


Переліки

enum FileMode: 🔗

FileMode FILE_MODE_OPEN_FILE = 0

Діалогове вікно дозволяє вибрати один, і тільки один файл.

FileMode FILE_MODE_OPEN_FILES = 1

Діалогове вікно дозволяє вибрати декілька файлів.

FileMode FILE_MODE_OPEN_DIR = 2

Діалогове вікно дозволяє вибрати каталог, вимкнути вибір будь-якого файлу.

FileMode FILE_MODE_OPEN_ANY = 3

Діалогове вікно дозволяє вибрати один файл або каталог.

FileMode FILE_MODE_SAVE_FILE = 4

У діалоговому вікні буде попереджати, коли існує файл.


enum Access: 🔗

Access ACCESS_RESOURCES = 0

Діалогове вікно дозволяє отримати доступ до файлів за допомогою Resource (res://).

Access ACCESS_USERDATA = 1

Діалогове вікно дозволяє отримати доступ до файлів під шляхом даних користувача (user://).

Access ACCESS_FILESYSTEM = 2

Діалогове вікно дозволяє отримати доступ до файлів на всій файловій системі.


enum DisplayMode: 🔗

DisplayMode DISPLAY_THUMBNAILS = 0

У діалоговому вікні файли відображаються у вигляді сітки мініатюр. Використовуйте thumbnail_size, щоб налаштувати їхній розмір.

DisplayMode DISPLAY_LIST = 1

У діалоговому вікні файли відображаються у вигляді списку імен файлів.


enum Customization: 🔗

Customization CUSTOMIZATION_HIDDEN_FILES = 0

Вмикає/вимикає видимість кнопки обраного та списку обраного в лівій частині діалогового вікна.

Еквівалентно hidden_files_toggle_enabled.

Customization CUSTOMIZATION_CREATE_FOLDER = 1

Якщо ввімкнено, відображається кнопка для створення нових каталогів (при використанні FILE_MODE_OPEN_DIR, FILE_MODE_OPEN_ANY або FILE_MODE_SAVE_FILE).

Еквівалентно folder_creation_enabled.

Customization CUSTOMIZATION_FILE_FILTER = 2

Якщо ввімкнено, відображається кнопка перемикання фільтра файлів.

Еквівалентно file_filter_toggle_enabled.

Customization CUSTOMIZATION_FILE_SORT = 3

Якщо ввімкнено, відображається кнопка параметрів сортування файлів.

Еквівалентно file_sort_options_enabled.

Customization CUSTOMIZATION_FAVORITES = 4

Якщо ввімкнено, відображається кнопка перемикання обраного та список обраного в лівій частині діалогового вікна.

Еквівалентно favorites_enabled.

Customization CUSTOMIZATION_RECENT = 5

Якщо увімкнено, список нещодавно використаних каталогів відображається у лівій частині діалогового вікна.

Еквівалентно recent_list_enabled.

Customization CUSTOMIZATION_LAYOUT = 6

Якщо ввімкнено, відображається кнопка перемикання розкладки (список/мініатюри).

Еквівалентно layout_toggle_enabled.


Описи властивостей

Access access = 0 🔗

Область доступу до файлової системи.

Попередження: У веб-збірках FileDialog не може отримати доступ до файлової системи хоста. В ізольованих середовищах Linux та macOS use_native_dialog автоматично використовується для обмеження доступу до файлової системи хоста.


String current_dir 🔗

  • void set_current_dir(value: String)

  • String get_current_dir()

Поточний робочий каталог файлового діалогу.

Примітка: Для рідних діалогів файлів, ця властивість тільки обробляється як підказка, і не може бути поважаний конкретними впровадженнями ОС.


String current_file 🔗

  • void set_current_file(value: String)

  • String get_current_file()

В даний час вибраний файл діалогу файлів.


String current_path 🔗

  • void set_current_path(value: String)

  • String get_current_path()

В даний час вибраний шлях файлу діалогу.


DisplayMode display_mode = 0 🔗

Режим відображення списку файлів у діалоговому вікні.


bool favorites_enabled = true 🔗

Якщо true, відображається кнопка перемикання обраного та список обраного у лівій частині діалогового вікна.


bool file_filter_toggle_enabled = true 🔗

Якщо true, відображається кнопка перемикання фільтра файлів.


FileMode file_mode = 4 🔗

Режим відкриття або збереження діалогового вікна, який впливає на поведінку вибору.


bool file_sort_options_enabled = true 🔗

Якщо true, відображається кнопка параметрів сортування файлів.


String filename_filter = "" 🔗

  • void set_filename_filter(value: String)

  • String get_filename_filter()

Фільтр імен файлів (незалежний від регістру). Якщо встановлено непорожній рядок, відображатимуться лише файли, які містять цей підрядок. filename_filter користувач може редагувати за допомогою кнопки фільтра у верхній частині діалогового вікна файлу.

Дивіться також filters, який слід використовувати для обмеження типів файлів, які можна вибрати, замість filename_filter, який має встановлювати користувач.


PackedStringArray filters = PackedStringArray() 🔗

Доступні фільтри типів файлів. Кожен рядок фільтра в масиві має бути відформатований таким чином: *.png,*.jpg,*.jpeg;файли зображень;зображення/png,зображення/jpeg. Текст опису фільтра необов’язковий і його можна опустити. Слід завжди встановлювати розширення файлів і тип MIME.

Примітка. Вбудоване діалогове вікно файлів і діалогове вікно файлів Windows підтримують лише розширення файлів, тоді як діалогові вікна файлів Android, Linux і macOS також підтримують типи 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 🔗

Якщо true, відображається кнопка для створення нових каталогів (при використанні FILE_MODE_OPEN_DIR, FILE_MODE_OPEN_ANY або FILE_MODE_SAVE_FILE).


bool hidden_files_toggle_enabled = true 🔗

Якщо true, відображається кнопка перемикання прихованих файлів.


bool layout_toggle_enabled = true 🔗

Якщо true, відображається кнопка перемикання розкладки (список/мініатюри).


bool mode_overrides_title = true 🔗

  • void set_mode_overrides_title(value: bool)

  • bool is_mode_overriding_title()

Якщо true, змінивши пам'ятний файл_mode майно буде встановлено назву вікна відповідно (наприклад, налаштування file_mode до FILE_MODE_OPEN_FILE змінить назву вікна для "Відкрити файл").


int option_count = 0 🔗

  • void set_option_count(value: int)

  • int get_option_count()

Кількість додаткових OptionButtons і CheckBoxes в діалоговому вікні.


bool recent_list_enabled = true 🔗

Якщо значення true, список нещодавно використаних каталогів відображається у лівій частині діалогового вікна.


String root_subfolder = "" 🔗

  • void set_root_subfolder(value: String)

  • String get_root_subfolder()

Якщо не спрага, то заданий підпам'як буде "роот" цього FileDialog, тобто користувач не зможе перейти до свого батьківського каталогу.

Примітка: Ця властивість ігнорується рідними діалогами файлів.


bool show_hidden_files = false 🔗

  • void set_show_hidden_files(value: bool)

  • bool is_showing_hidden_files()

Якщо true, діалогове вікно покаже приховані файли.

Примітка: Ця властивість ігнорується рідними діалоговими вікнами файлів на Android і Linux.


bool use_native_dialog = false 🔗

  • void set_use_native_dialog(value: bool)

  • bool get_use_native_dialog()

Якщо true, і якщо підтримується поточним DisplayServer, замість власного буде використовуватися рідне діалогове вікно ОС.

Примітка: На Android це підтримується лише для пристроїв Android 10+ та під час використання ACCESS_FILESYSTEM. Для режиму доступу ACCESS_RESOURCES та ACCESS_USERDATA система повернеться до власного FileDialog.

Примітка: У Linux та macOS ізольовані програми завжди використовують рідні діалогові вікна для доступу до файлової системи хоста.

Примітка: У macOS ізольовані програми зберігатимуть закладки з областю безпеки, щоб зберегти доступ до відкритих папок протягом кількох сеансів. Використовуйте OS.get_granted_permissions(), щоб отримати список збережених закладок.

Примітка: Рідні діалогові вікна ізольовані від базового процесу, властивості діалогового вікна файлу не можна змінити після того, як діалогове вікно відображається.


Описи методів

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

Додає параметр filter для імені файлу, розділеного комами, до FileDialog з необов'язковим description, який обмежує вибір файлів.

filter повинен мати вигляд "filename.extension", де filename та extension можуть бути * для відповідності будь-якому рядку. Фільтри, що починаються з . (тобто пусті імена файлів), не допускаються.

Наприклад, filter з "*.png, *.jpg" та description з "Images" призведе до тексту фільтра "Images (*.png, *.jpg)".


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

Додає додатковий OptionButton до діалогу файлів. Якщо values порожній, то замість цього додається CheckBox.

default_value_index повинен бути індексом значення в values. Якщо values є порожнім, він повинен бути або 1 (увімкнений), або 0 (вимкнений).


void clear_filename_filter() 🔗

Очистіть фільтр імен файлів.


void clear_filters() 🔗

Очистити всі додані фільтри в діалоговому вікні.


void deselect_all() 🔗

Очистити всі вибрані елементи в діалоговому вікні.


LineEdit get_line_edit() 🔗

Повертає рядок редагування для вибраного файлу.

Налаштування: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх дітей, скористайтеся їх CanvasItem.pic.


int get_option_default(option: int) const 🔗

Повертає значення за замовчуванням індексу OptionButton або CheckBox з індексом option.


String get_option_name(option: int) const 🔗

Повертає назву OptionButton або CheckBox з індексом option.


PackedStringArray get_option_values(option: int) const 🔗

Повертає масив значень OptionButton з індексом option.


Dictionary get_selected_options() const 🔗

Повертає Dictionary з вибраними значеннями додаткових OptionButton та/або CheckBox. Ключі Dictionary – це імена, а значення – індекси вибраних значень.


VBoxContainer get_vbox() 🔗

Повертає вертикальний контейнер коробки діалогу, користувацькі елементи керування можна додавати до нього.

Попередження: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх дітей, скористайтеся їх CanvasItem.pic.

Примітка: Зміни до цієї вершини ігноруються рідними діалогами файлів, використовуйте add_option(), щоб додати користувацькі елементи до діалогу замість.


void invalidate() 🔗

Неоцінити і оновити поточний список вмісту діалогу.

Примітка: Цей метод не робить нічого на рідних діалогах файлів.


bool is_customization_flag_enabled(flag: Customization) const 🔗

Повертає true, якщо вказаний flag увімкнено.


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

Вмикає/вимикає вказане налаштування flag, що дозволяє налаштовувати функції, доступні в цьому FileDialog. Див. Customization для отримання інформації про параметри.


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

Встановлює індекс значення за замовчуванням для OptionButton або CheckBox з індексом option.


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

Встановлює назву OptionButton або CheckBox з індексом option.


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

Встановлює значення параметрів OptionButton з індексом option.


Описи тематичної нерухомості

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

Колірний відтінок для відключених файлів (коли FileDialog використовується в режимі відкритої папки).


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

Кольорова модуляція наноситься на іконку файлу.


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

Кольорова модуляція наноситься на іконку папки.


int thumbnail_size = 64 🔗

Розмір мініатюр, коли ввімкнено DISPLAY_THUMBNAILS.


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 🔗

Користувальницька ікона для окуляри прихована кнопка.