Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

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

bool

show_hidden_files

false

String

title

"Save a File" (overrides Window)

方法

void

add_filter ( String filter, String description="" )

void

add_side_menu ( Control menu, String title="" )

void

clear_filters ( )

LineEdit

get_line_edit ( )

VBoxContainer

get_vbox ( )

void

invalidate ( )


信号

dir_selected ( String dir )

选择目录时触发。


file_selected ( String path )

选择文件时触发。


files_selected ( PackedStringArray paths )

选择多个文件时触发。


枚举

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

  • String get_current_dir ( )

当前占用的目录。


String current_file

  • void set_current_file ( String value )

  • String get_current_file ( )

当前选择的文件。


String current_path

  • void set_current_path ( String value )

  • String get_current_path ( )

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


bool disable_overwrite_warning = false

  • void set_disable_overwrite_warning ( bool value )

  • 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 文件。


bool show_hidden_files = false

  • void set_show_hidden_files ( bool value )

  • bool is_showing_hidden_files ( )

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


方法说明

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

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

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

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


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

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


void clear_filters ( )

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


LineEdit get_line_edit ( )

返回所选文件的 LineEdit。

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


VBoxContainer get_vbox ( )

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

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


void invalidate ( )

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