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 会将窗口标题更改为“打开文件”)。
- bool show_hidden_files
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
重新加载按钮的自定义图标。
- Texture toggle_hidden
切换隐藏按钮的自定义图标。