FileDialog
Наследует: ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object
Диалоговое окно для выбора файлов или каталогов в файловой системе.
Описание
FileDialog — это предустановленный диалог, используемый для выбора файлов и каталогов в файловой системе. Он поддерживает маски фильтров. FileDialog автоматически устанавливает заголовок окна в соответствии с file_mode. Если вы хотите использовать пользовательский заголовок, отключите его, установив mode_overrides_title на false.
Свойства
|
||
dialog_hide_on_ok |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
size |
|
|
title |
|
|
|
Методы
void |
add_filter(filter: String, description: String = "") |
void |
add_option(name: String, values: PackedStringArray, default_value_index: int) |
void |
|
void |
|
void |
|
get_option_default(option: int) const |
|
get_option_name(option: int) const |
|
get_option_values(option: int) const |
|
get_selected_options() const |
|
get_vbox() |
|
void |
|
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) |
Свойства темы
|
||
|
||
|
||
|
||
Сигналы
Выдается, когда пользователь выбирает каталог.
Генерируется, когда пользователь выбирает файл двойным щелчком или нажимает кнопку ОК.
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: 🔗
Включает/выключает видимость кнопки «Избранное» и списка избранного в левой части диалогового окна.
Эквивалентно 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.
Описания свойств
Область доступа к файловой системе.
Предупреждение: В веб-сборках FileDialog не может получить доступ к файловой системе хоста. В изолированных средах Linux и macOS use_native_dialog автоматически используется для разрешения ограниченного доступа к файловой системе хоста.
Текущий рабочий каталог диалога файлов.
Примечание: Для собственных диалогов файлов это свойство рассматривается только как подсказка и может не учитываться определенными реализациями ОС.
Текущий выбранный файл в диалоговом окне.
Текущий выбранный путь к файлу в диалоговом окне.
DisplayMode display_mode = 0 🔗
void set_display_mode(value: DisplayMode)
DisplayMode get_display_mode()
Режим отображения списка файлов диалога.
bool favorites_enabled = true 🔗
void set_customization_flag_enabled(flag: Customization, enabled: bool)
bool is_customization_flag_enabled(flag: Customization) const
Если true, то на левой стороне диалогового окна отображаются кнопка переключения избранного и список избранного.
bool file_filter_toggle_enabled = true 🔗
void set_customization_flag_enabled(flag: Customization, enabled: bool)
bool is_customization_flag_enabled(flag: Customization) const
Если true, отображается кнопка переключения фильтра файлов.
Режим открытия или сохранения диалогового окна, который влияет на поведение выбора.
bool file_sort_options_enabled = true 🔗
void set_customization_flag_enabled(flag: Customization, enabled: bool)
bool is_customization_flag_enabled(flag: Customization) const
Если true, показывает кнопку параметров сортировки файлов.
Фильтр для имен файлов (без учета регистра). Если задана непустая строка, будут показаны только файлы, содержащие подстроку. filename_filter может редактироваться пользователем с помощью кнопки фильтра в верхней части диалогового окна файла.
См. также filters, которые следует использовать для ограничения типов файлов, которые можно выбрать, вместо filename_filter, который должен устанавливаться пользователем.
PackedStringArray filters = PackedStringArray() 🔗
void set_filters(value: PackedStringArray)
PackedStringArray get_filters()
Доступные фильтры типов файлов. Каждая строка фильтра в массиве должна быть отформатирована следующим образом:*.png,*.jpg,*.jpeg;Image Files;image/png,image/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 🔗
void set_customization_flag_enabled(flag: Customization, enabled: bool)
bool is_customization_flag_enabled(flag: Customization) const
Если true, показывает кнопку для создания новых каталогов (при использовании FILE_MODE_OPEN_DIR, FILE_MODE_OPEN_ANY или FILE_MODE_SAVE_FILE).
void set_customization_flag_enabled(flag: Customization, enabled: bool)
bool is_customization_flag_enabled(flag: Customization) const
Если true, отображается кнопка переключения скрытых файлов.
bool layout_toggle_enabled = true 🔗
void set_customization_flag_enabled(flag: Customization, enabled: bool)
bool is_customization_flag_enabled(flag: Customization) const
Если true, отображаются кнопки переключения макета (список/миниатюры).
bool mode_overrides_title = true 🔗
Если true, изменение свойства file_mode соответствующим образом установит заголовок окна (например, установка file_mode на FILE_MODE_OPEN_FILE изменит заголовок окна на «Открыть файл»).
Количество дополнительных OptionButton и CheckBox-ов в диалоговом окне.
bool recent_list_enabled = true 🔗
void set_customization_flag_enabled(flag: Customization, enabled: bool)
bool is_customization_flag_enabled(flag: Customization) const
Если true, отображает список последних каталогов в левой части диалогового окна.
Если не пусто, указанная подпапка будет «корневой» для этого FileDialog, т. е. пользователь не сможет перейти в ее родительский каталог.
Примечание: Это свойство игнорируется для собственных файловых диалогов.
Если true, диалоговое окно покажет скрытые файлы.
Примечание: Это свойство игнорируется собственными диалоговыми окнами файлов на Android и Linux.
bool use_native_dialog = false 🔗
Если 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 должен иметь вид "имя_файла.расширение", где имя_файла и расширение могут быть представлены в виде * для соответствия любой строке. Фильтры, начинающиеся с . (т.е. пустые имена файлов), не допускаются.
Например, filter со значением "*.png, *.jpg" и description со значением "Изображения" приведут к появлению текста фильтра "Изображения (*.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 для выбранного файла.
Предупреждение: Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любой из его дочерних элементов, используйте их свойство CanvasItem.visible.
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.visible.
Примечание: Изменения этого узла игнорируются собственными файловыми диалогами, используйте 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) 🔗
Цветовая модуляция, примененная к значку папки.
Размер миниатюрных значков, когда включен DISPLAY_THUMBNAILS.
Пользовательский значок для стрелки «назад».
Пользовательский значок для кнопки создания папки.
Пользовательский значок для кнопки избранной папки.
Пользовательский значок для кнопки перемещения вниз по избранной записи.
Пользовательский значок для кнопки перемещения избранной записи вверх.
Пользовательский значок для файлов.
Значок для файлов в режиме миниатюр.
Пользовательский значок для папок.
Значок для папок в режиме миниатюр.
Пользовательский значок для стрелки "вперед".
Значок кнопки, включающей режим списка.
Пользовательский значок для стрелки родительской папки.
Пользовательский значок для кнопки "Обновить".
Пользовательский значок для меню параметров сортировки.
Значок кнопки, включающей режим миниатюр.
Texture2D toggle_filename_filter 🔗
Пользовательский значок для переключателя фильтра по именам файлов.
Пользовательский значок для кнопки переключения скрытой информации.