EditorFileDialog
继承: ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object
编辑器使用的 FileDialog 的修改版。
描述
EditorFileDialog 是增强版的 FileDialog,只有编辑器插件能够使用。增加的功能包括收藏列表、最近文件列表、除列表形式外能够以缩略图网格形式查看文件等。
与 FileDialog 不同,EditorFileDialog 没有使用原生对话框的属性。不过可以通过 EditorSettings.interface/editor/use_native_file_dialogs 编辑器属性全局打开原生对话框。在沙盒中运行时会自动启用(例如在 macOS 上)。
属性
|
||
dialog_hide_on_ok |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
title |
|
方法
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 |
|
void |
|
get_filename_filter() const |
|
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 |
|
void |
|
void |
set_filename_filter(filter: String) |
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
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 以文件名列表的形式显示资源。
属性说明
用户可以选择文件的位置,包括 res://、user:// 和本地文件系统。
当前占用的目录。
当前选择的文件。
地址栏中的文件系统路径。
bool disable_overwrite_warning = false 🔗
如果为 true,EditorFileDialog 将不会在覆盖文件之前警告用户。
DisplayMode display_mode = 0 🔗
void set_display_mode(value: DisplayMode)
DisplayMode get_display_mode()
EditorFileDialog 向用户显示资源的视图格式。
对话框的打开或保存模式,会影响选择行为。见 FileMode。
PackedStringArray filters = PackedStringArray() 🔗
void set_filters(value: PackedStringArray)
PackedStringArray get_filters()
可用的文件类型过滤器。例如,这样就只会显示 .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.
对话框中附加的 OptionButton 和 CheckBox 的数量。
如果为 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(未选中)。
将给定的 menu 添加到文件对话框的侧边,在顶部显示标题文本 title。仅支持一个侧边菜单。
void clear_filename_filter() 🔗
清空文件名筛选器。
void clear_filters() 🔗
移除“所有文件 (*.*)”筛选器之外的所有筛选器。
String get_filename_filter() const 🔗
返回文件名筛选器的值。
返回所选文件的 LineEdit。
警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果你希望隐藏它或其任何子项,请使用它们的 CanvasItem.visible 属性。
int get_option_default(option: int) const 🔗
返回索引为 option 的 OptionButton 或 CheckBox 的默认值索引。
String get_option_name(option: int) const 🔗
返回索引为 option 的 OptionButton 或 CheckBox 的名称。
PackedStringArray get_option_values(option: int) const 🔗
返回索引为 option 的 OptionButton 值的数组。
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_filename_filter(filter: String) 🔗
设置文件名筛选器的值。
void set_option_default(option: int, default_value_index: int) 🔗
设置索引为 option 的 OptionButton 或 CheckBox 的默认值索引。
void set_option_name(option: int, name: String) 🔗
设置索引为 option 的 OptionButton 或 CheckBox 的名称。
void set_option_values(option: int, values: PackedStringArray) 🔗
设置索引为 option 的 OptionButton 的选项值。