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.

EditorFileDialog

继承: ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object

编辑器使用的 FileDialog 的修改版。

描述

EditorFileDialogFileDialog 的增强版,只对编辑器插件可用。额外的功能包括收藏列表、最近文件列表和以缩略图网格而不是列表的形式查看文件的能力。

属性

Access

access

0

String

current_dir

String

current_file

String

current_path

bool

dialog_hide_on_ok

false (overrides AcceptDialog)

bool

disable_overwrite_warning

false

DisplayMode

display_mode

0

FileMode

file_mode

4

PackedStringArray

filters

PackedStringArray()

int

option_count

0

bool

show_hidden_files

false

String

title

"Save a File" (overrides Window)

方法

void

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

void

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

void

add_side_menu(menu: Control, title: String = "")

void

clear_filters()

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

void

popup_file_dialog()

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)


信号

dir_selected(dir: String) 🔗

选择目录时触发。


file_selected(path: String) 🔗

选择文件时触发。


files_selected(paths: PackedStringArray) 🔗

选择多个文件时触发。


枚举

enum FileMode: 🔗

FileMode FILE_MODE_OPEN_FILE = 0

EditorFileDialog 仅可以选择一个文件,选择同意窗口将会打开这个文件。

FileMode FILE_MODE_OPEN_FILES = 1

EditorFileDialog 可以选择多个文件,选择同意窗口将会打开所有选择的文件。

FileMode FILE_MODE_OPEN_DIR = 2

EditorFileDialog 可以选择一个目录,选择同意窗口将会打开这个目录。

FileMode FILE_MODE_OPEN_ANY = 3

EditorFileDialog 可以选择一个文件或者目录,选择同意窗口将会打开这个文件或目录。

FileMode FILE_MODE_SAVE_FILE = 4

EditorFileDialog 可以选择一个文件,选择同意窗口将会保存这个文件。


enum Access: 🔗

Access ACCESS_RESOURCES = 0

EditorFileDialog 只能查看 res:// 目录里的内容。

Access ACCESS_USERDATA = 1

EditorFileDialog 只能查看user:// 目录里的内容。

Access ACCESS_FILESYSTEM = 2

EditorFileDialog 可以查看整个本地文件系统。


enum DisplayMode: 🔗

DisplayMode DISPLAY_THUMBNAILS = 0

EditorFileDialog 以图标的形式显示资源。

DisplayMode DISPLAY_LIST = 1

EditorFileDialog 以文件名列表的形式显示资源。


属性说明

Access access = 0 🔗

用户可以选择文件的位置,包括 res://user:// 和本地文件系统。


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

地址栏中的文件系统路径。


bool disable_overwrite_warning = false 🔗

  • void set_disable_overwrite_warning(value: bool)

  • bool is_overwrite_warning_disabled()

如果为 trueEditorFileDialog 将不会在覆盖文件之前警告用户。


DisplayMode display_mode = 0 🔗

EditorFileDialog 向用户显示资源的视图格式。


FileMode file_mode = 4 🔗

对话框的打开或保存模式,会影响选择行为。见 FileMode


PackedStringArray filters = PackedStringArray() 🔗

可用的文件类型过滤器。例如,这样就只会显示 .png.gd 文件:set_filters(PackedStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"]))。也可以在单个过滤器中指定多种文件类型。选中 "*.png, *.jpg, *.jpeg ; 支持的图片" 时,将同时显示 PNG 和 JPEG 文件。

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


int option_count = 0 🔗

  • void set_option_count(value: int)

  • int get_option_count()

对话框中附加的 OptionButtonCheckBox 的数量。


bool show_hidden_files = false 🔗

  • void set_show_hidden_files(value: bool)

  • bool is_showing_hidden_files()

如果为 true,隐藏的文件和目录将在 EditorFileDialog 中可见。该属性与 EditorSettings.filesystem/file_dialog/show_hidden_files 同步。


方法说明

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

将一个逗号分隔的文件名 filter 且带有可选 description 的选项添加到的 EditorFileDialog,这限制了可以选择的文件。

filter 的格式应为 "文件名.扩展名",其中文件名和扩展名可以是 *,以匹配任意字符串。不允许使用以 . 开头的过滤器(即空文件名)。

例如,"*.tscn, *.scn"filter"场景"description 会产生过滤文本“场景 (* .tscn, *.scn)”。


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

向文件对话框添加额外的 OptionButton。如果 values 为空,则添加的是 CheckBox

default_value_index 应该是 values 的索引号。如果 values 为空,则应该是 1(选中)或 0(未选中)。


void add_side_menu(menu: Control, title: String = "") 🔗

将给定的 menu 添加到文件对话框的侧边,在顶部显示标题文本 title。仅支持一个侧边菜单。


void clear_filters() 🔗

移除“All Files(*)”筛选器之外的所有筛选器。


LineEdit get_line_edit() 🔗

返回所选文件的 LineEdit。

警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果你希望隐藏它或其任何子项,请使用它们的 CanvasItem.visible 属性。


int get_option_default(option: int) const 🔗

返回索引为 optionOptionButtonCheckBox 的默认值索引。


String get_option_name(option: int) const 🔗

返回索引为 optionOptionButtonCheckBox 的名称。


PackedStringArray get_option_values(option: int) const 🔗

返回索引为 optionOptionButton 值的数组。


Dictionary get_selected_options() const 🔗

返回一个 Dictionary,其中包含附加 OptionButton 和/或 CheckBox 的选定值。Dictionary 的键是名称,而值是选定的值索引。


VBoxContainer get_vbox() 🔗

返回用于显示文件系统的 VBoxContainer

警告:这是一个必需的内部节点,移除和释放它可能会导致崩溃。如果你想隐藏它或它的任何子节点,请使用 CanvasItem.visible 属性。


void invalidate() 🔗

通知 EditorFileDialog 它的数据视图不再准确。在下次视图更新时更新视图内容。


void popup_file_dialog() 🔗

以编辑器中文件对话框的默认大小和位置显示该 EditorFileDialog,如果有当前文件则选择该文件名。


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

设置索引为 optionOptionButtonCheckBox 的默认值索引。


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

设置索引为 optionOptionButtonCheckBox 的名称。


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

设置索引为 optionOptionButton 的选项值。