FileDialog¶
Inherits: ConfirmationDialog < AcceptDialog < WindowDialog < Popup < Control < CanvasItem < Node < Object
用于选择文件系统中的文件或目录的对话框。
描述¶
FileDialog 是用于在文件系统中选择文件和目录的预设对话框。它支持过滤器掩码。文件对话框会根据 mode 自动设置其窗口标题。如果您要使用自定义标题,请将 mode_overrides_title 设置为 false
来禁用此标题。
属性¶
|
||
|
||
|
||
|
||
dialog_hide_on_ok |
|
|
|
||
|
||
|
||
|
||
window_title |
|
方法¶
void |
add_filter ( String filter ) |
void |
clear_filters ( ) |
void |
deselect_items ( ) |
get_line_edit ( ) |
|
get_vbox ( ) |
|
void |
invalidate ( ) |
主题属性¶
|
||
|
||
|
||
信号¶
dir_selected ( String dir )
当用户选择一个目录时触发的。
file_selected ( String path )
当用户通过双击文件或按确定按钮选择一个文件时触发。
files_selected ( PoolStringArray paths )
当用户选择多个文件时触发。
枚举¶
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 --- 该对话框允许访问文件系统上的文件。
属性说明¶
Access access
Default |
|
Setter |
set_access(value) |
Getter |
get_access() |
文件系统的访问范围。见枚举 Access
常数。
警告: 目前,在沙盒环境下,如HTML5构建或沙盒的macOS应用程序,FileDialog 不能访问主机文件系统。参见 godot-proposals#1123。
String current_dir
Default |
|
Setter |
set_current_dir(value) |
Getter |
get_current_dir() |
文件对话框的当前工作目录。
String current_file
Default |
|
Setter |
set_current_file(value) |
Getter |
get_current_file() |
文件对话框的当前选定的文件。
String current_path
Default |
|
Setter |
set_current_path(value) |
Getter |
get_current_path() |
当前选择的文件对话框的文件路径。
PoolStringArray filters
Default |
|
Setter |
set_filters(value) |
Getter |
get_filters() |
可用的文件类型过滤器。例如,这仅显示 .png
和 .gd
文件: set_filters(PoolStringArray(["*.png ; PNG Images", "*.gd ; GDScript Files" ]))
。
Mode mode
Default |
|
Setter |
set_mode(value) |
Getter |
get_mode() |
对话框的打开或保存模式,这会影响选择行为。请参阅枚举 Mode
常量。
bool mode_overrides_title
Default |
|
Setter |
set_mode_overrides_title(value) |
Getter |
is_mode_overriding_title() |
如果 true
,更改 Mode
属性将相应地设置窗口标题(例如,将模式设置为 MODE_OPEN_FILE 会将窗口标题更改为“打开文件”)。
Default |
|
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 get_line_edit ( )
返回所选文件的 LineEdit。
警告: 这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果您希望隐藏它或其任何子项,请使用它们的 CanvasItem.visible 属性。
VBoxContainer get_vbox ( )
返回对话框的垂直框容器,可以向其中添加自定义控件。
警告: 这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果您希望隐藏它或其任何子项,请使用它们的 CanvasItem.visible 属性。
void invalidate ( )
使当前对话框内容列表无效并更新。
Theme Property Descriptions¶
Color file_icon_modulate
Default |
|
应用于文件图标的颜色调制。
Color files_disabled
Default |
|
禁用文件的色调(当FileDialog
在打开文件夹模式下使用时)。
Color folder_icon_modulate
Default |
|
应用于文件夹图标的颜色调制。
Texture file
文件的自定义图标。
Texture folder
文件夹的自定义图标。
Texture parent_folder
父文件夹箭头的自定义图标。
Texture reload
重新加载按钮的自定义图标。
切换隐藏按钮的自定义图标。