FileDialog

Inherits: ConfirmationDialog < AcceptDialog < WindowDialog < Popup < Control < CanvasItem < Node < Object

用于选择文件系统中的文件或目录的对话框。

描述

FileDialog 是用于在文件系统中选择文件和目录的预设对话框。它支持过滤器掩码。文件对话框会根据 mode 自动设置其窗口标题。如果您要使用自定义标题,请将 mode_overrides_title 设置为 false 来禁用此标题。

属性

Access

access

0

String

current_dir

“res://“

String

current_file

“”

String

current_path

“res://“

bool

dialog_hide_on_ok

false (overrides AcceptDialog)

PoolStringArray

filters

PoolStringArray(  )

Mode

mode

4

bool

mode_overrides_title

true

bool

show_hidden_files

false

String

window_title

“Save a File” (overrides WindowDialog)

方法

void

add_filter ( String filter )

void

clear_filters ( )

void

deselect_items ( )

LineEdit

get_line_edit ( )

VBoxContainer

get_vbox ( )

void

invalidate ( )

主题属性

Color

file_icon_modulate

Color( 1, 1, 1, 1 )

Color

files_disabled

Color( 0, 0, 0, 0.7 )

Color

folder_icon_modulate

Color( 1, 1, 1, 1 )

Texture

file

Texture

folder

Texture

parent_folder

Texture

reload

Texture

toggle_hidden

信号

当用户选择一个目录时触发的。


  • file_selected ( String path )

当用户通过双击文件或按确定按钮选择一个文件时触发。


当用户选择多个文件时触发。

枚举

enum Mode:

  • MODE_OPEN_FILE = 0 —- 该对话框只允许选择一个文件。

  • MODE_OPEN_FILES = 1 —- 该对话框允许选择多个文件。

  • MODE_OPEN_DIR = 2 —- 该对话框只允许选择一个目录,不允许选择任何文件。

  • MODE_OPEN_ANY = 3 —- 该对话框允许选择一个文件或目录。

  • MODE_SAVE_FILE = 4 —- 当文件存在时,对话框会发出警告。


enum Access:

  • ACCESS_RESOURCES = 0 —- 该对话框只允许访问Resource路径下的文件(res://)。

  • ACCESS_USERDATA = 1 —- 该对话框只允许访问用户数据路径(user://)下的文件。

  • ACCESS_FILESYSTEM = 2 —- 该对话框允许访问文件系统上的文件。

属性说明

Default

0

Setter

set_access(value)

Getter

get_access()

文件系统的访问范围。见枚举 Access 常数。

警告: 目前,在沙盒环境下,如HTML5构建或沙盒的macOS应用程序,FileDialog 不能访问主机文件系统。参见 godot-proposals#1123


Default

“res://“

Setter

set_current_dir(value)

Getter

get_current_dir()

文件对话框的当前工作目录。


Default

“”

Setter

set_current_file(value)

Getter

get_current_file()

文件对话框的当前选定的文件。


Default

“res://“

Setter

set_current_path(value)

Getter

get_current_path()

当前选择的文件对话框的文件路径。


Default

PoolStringArray(  )

Setter

set_filters(value)

Getter

get_filters()

可用的文件类型过滤器。例如,这仅显示 .png.gd 文件: set_filters(PoolStringArray(["*.png ; PNG Images", "*.gd ; GDScript Files" ]))


Default

4

Setter

set_mode(value)

Getter

get_mode()

对话框的打开或保存模式,这会影响选择行为。请参阅枚举 Mode 常量。


  • bool mode_overrides_title

Default

true

Setter

set_mode_overrides_title(value)

Getter

is_mode_overriding_title()

如果 true,更改 Mode 属性将相应地设置窗口标题(例如,将模式设置为 MODE_OPEN_FILE 会将窗口标题更改为“打开文件”)。


  • bool show_hidden_files

Default

false

Setter

set_show_hidden_files(value)

Getter

is_showing_hidden_files()

如果true,对话框将显示出隐藏文件。

方法说明

  • void add_filter ( String filter )

添加filter作为自定义过滤器; filter的格式应为“ filename.extension; Description”。例如,"*.png ; PNG Images"


  • void clear_filters ( )

清除对话框中所有添加的过滤器。


  • void deselect_items ( )

清除对话框中当前选择的项目。


返回所选文件的 LineEdit。

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


返回对话框的垂直框容器,可以向其中添加自定义控件。

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


  • void invalidate ( )

使当前对话框内容列表无效并更新。

Theme Property Descriptions

  • Color file_icon_modulate

Default

Color( 1, 1, 1, 1 )

应用于文件图标的颜色调制。


Default

Color( 0, 0, 0, 0.7 )

禁用文件的色调(当FileDialog在打开文件夹模式下使用时)。


  • Color folder_icon_modulate

Default

Color( 1, 1, 1, 1 )

应用于文件夹图标的颜色调制。


文件的自定义图标。


文件夹的自定义图标。


父文件夹箭头的自定义图标。


重新加载按钮的自定义图标。


切换隐藏按钮的自定义图标。