FileDialog
继承: ConfirmationDialog < AcceptDialog < Window < Viewport < Node < Object
用于选择文件系统中的文件或目录的对话框。
描述
FileDialog 是用来选择文件系统中文件和目录的预设对话框。支持过滤器掩码。FileDialog 会根据 file_mode 自动设置窗口的标题。如果你想使用自定义标题,请将 mode_overrides_title 设置为 false
,禁用此功能。
属性
| ||
dialog_hide_on_ok |
| |
| ||
| ||
| ||
| ||
| ||
title |
| |
|
方法
void | add_filter ( String filter, String description=”” ) |
void | clear_filters ( ) |
void | deselect_all ( ) |
get_line_edit ( ) | |
get_vbox ( ) | |
void | invalidate ( ) |
主题属性
| ||
| ||
| ||
信号
dir_selected ( String dir )
当用户选择一个目录时触发的。
file_selected ( String path )
当用户通过双击文件或按确定按钮选择一个文件时触发。
files_selected ( PackedStringArray paths )
当用户选择多个文件时触发。
枚举
enum FileMode:
FileMode FILE_MODE_OPEN_FILE = 0
该对话框只允许选择一个文件。
FileMode FILE_MODE_OPEN_FILES = 1
该对话框允许选择多个文件。
FileMode FILE_MODE_OPEN_DIR = 2
该对话框只允许选择一个目录,不允许选择任何文件。
FileMode FILE_MODE_OPEN_ANY = 3
该对话框允许选择一个文件或目录。
FileMode FILE_MODE_SAVE_FILE = 4
当文件存在时,对话框会发出警告。
enum Access:
Access ACCESS_RESOURCES = 0
该对话框只允许访问 Resource 路径下的文件(res://
)。
Access ACCESS_USERDATA = 1
该对话框只允许访问用户数据路径(user://
)下的文件。
Access ACCESS_FILESYSTEM = 2
该对话框允许访问文件系统上的文件。
属性说明
Access access = 0
文件系统的访问范围。见 Access 常量。
警告:目前,在 Web 构建或沙盒 macOS 应用程序等沙盒环境中,FileDialog 无法访问主机文件系统。参见 godot-proposals#1123。
String current_dir
文件对话框的当前工作目录。
String current_file
文件对话框的当前选定的文件。
String current_path
当前选择的文件对话框的文件路径。
FileMode file_mode = 4
对话框的打开或保存模式,会影响选择行为。见 FileMode。
PackedStringArray filters = PackedStringArray()
void set_filters ( PackedStringArray value )
PackedStringArray get_filters ( )
可用的文件类型过滤器。例如,这样就只会显示 .png
和 .gd
文件:set_filters(PackedStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"]))
。也可以在单个过滤器中指定多种文件类型。选中 "*.png, *.jpg, *.jpeg ; 支持的图片"
时,将同时显示 PNG 和 JPEG 文件。
bool mode_overrides_title = true
如果为 true
,更改 file_mode 属性将相应地设置窗口标题(例如,将 file_mode 设置为 FILE_MODE_OPEN_FILE,会将窗口标题更改为“打开文件”)。
String root_subfolder = ""
如果非空,则给定的子文件夹将是该 FileDialog 的“根”,即用户将无法转到其父目录。
bool show_hidden_files = false
如果为 true
,对话框将显示出隐藏文件。
bool use_native_dialog = false
如果为 true
,access 被设置为ACCESS_FILESYSTEM,并且它被当前的 DisplayServer 支持,则将使用操作系统原生对话框而不是自定义对话框。
注意:在 macOS 上,沙盒应用程序始终使用原生对话框来访问主机文件系统。
方法说明
void add_filter ( String filter, String description=”” )
将一个逗号分隔的文件名 filter
且带有可选 description
的选项添加到的 FileDialog,这限制了可以选择的文件。
filter
的格式应为 "文件名.扩展名"
,其中文件名和扩展名可以是 *
,以匹配任意字符串。不允许使用以 .
开头的过滤器(即空文件名)。
例如,"*.png, *.jpg"
的 filter
和 "图像"
的 description
会产生过滤器文本“图像 (* .png, *.jpg)”。
void clear_filters ( )
清除对话框中所有添加的过滤器。
void deselect_all ( )
清除对话框中所有当前选定的项目。
LineEdit get_line_edit ( )
返回所选文件的 LineEdit。
警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果你希望隐藏它或其任何子项,请使用它们的 CanvasItem.visible 属性。
VBoxContainer get_vbox ( )
返回对话框的垂直框容器,可以向其中添加自定义控件。
警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果你希望隐藏它或其任何子项,请使用它们的 CanvasItem.visible 属性。
void invalidate ( )
使当前对话框内容列表无效并更新。
主题属性说明
Color file_disabled_color = Color(1, 1, 1, 0.25)
禁用文件的色调(当 FileDialog 在打开文件夹模式下使用时)。
Color file_icon_color = Color(1, 1, 1, 1)
应用于文件图标的颜色调制。
Color folder_icon_color = Color(1, 1, 1, 1)
应用于文件夹图标的颜色调制。
Texture2D back_folder
向后箭头的自定义图标。
Texture2D file
文件的自定义图标。
Texture2D folder
文件夹的自定义图标。
Texture2D forward_folder
向前箭头的自定义图标。
Texture2D parent_folder
父文件夹箭头的自定义图标。
Texture2D reload
重新加载按钮的自定义图标。
Texture2D toggle_hidden
切换隐藏按钮的自定义图标。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.