Up to date

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

EditorInspector

继承: ScrollContainer < Container < Control < CanvasItem < Node < Object

用于编辑对象属性的控件。

描述

这是为编辑器的“设置”对话框、“检查器”面板等实现属性编辑的控件。要获取编辑器的“检查器”面板中所使用的 EditorInspector,请使用 EditorInterface.get_inspector

EditorInspector 展示属性的顺序与 Object.get_property_list 返回的数组一致。

如果属性的名称为路径形式(即包含正斜杠),EditorInspector 会为该路径上的各个“目录”创建嵌套的部分。例如,如果某个属性名为 highlighting/gdscript/node_path_color,那么就会显示为“Node Path Color”,位于嵌套在“Highlighting”部分的“GDScript”部分中。

如果属性包含 @GlobalScope.PROPERTY_USAGE_GROUP 用法,就会将其后续属性中,名称以其提示字符串开头的属性合为一组。如果遇到不以该提示字符串开头的属性,或者开始了一个新的分组,那么这个分组就会结束。分组名称为空的效果为结束当前分组。EditorInspector 会为每个分组都创建一个顶层的部分。例如,如果有个包含分组用法的属性名叫 Collide With,其提示字符串为 collide_with_,那么后续的 collide_with_area 属性就会以“Area”的名称出现在“Collide With”部分中。另外还有一种特殊情况:提示字符串包含属性名称时,该属性也会被划入该分组。这样做的目的是将类似 fontfont_colorfont_size 的属性分在一起(使用 font_ 提示字符串)

如果属性包含 @GlobalScope.PROPERTY_USAGE_SUBGROUP 用法,就会用和分组一样的方法创建子分组,每个子分组都会创建一个二级部分。

注意:与根据路径形式的名称而创建的部分不同,EditorInspector 不会对根据分组创建的部分的名称进行首字母大写。因此,包含分组用法的属性通常使用首字母大写的名称,而不是 snake_case。

属性

ScrollMode

horizontal_scroll_mode

0 (overrides ScrollContainer)

方法

Object

get_edited_object ( )

String

get_selected_path ( ) const


信号

edited_object_changed ( )

当检查器正在编辑的对象发生更改时触发。


object_id_selected ( int id )

在检查器中按下 Object 的“编辑”按钮时发出。这主要用于远程场景树检查器。


property_deleted ( String property )

当从检查器中移除属性时触发。


property_edited ( String property )

在检查器中编辑属性时触发。


property_keyed ( String property, Variant value, bool advance )

当属性在检查器中被键入时触发。当动画面板打开时,可通过点击属性旁边的“钥匙”图标为属性添加关键帧。


property_selected ( String property )

在检查器中选择属性时触发。


property_toggled ( String property, bool checked )

在检查器中切换布尔属性时发出。

注意:如果启用了内部 autoclear 属性,则该信号永远不会触发。由于该属性在编辑器检查器中始终处于启用状态,因此编辑器本身绝不会发出该信号。


resource_selected ( Resource resource, String path )

在检查器中选择资源时触发。


restart_requested ( )

在检查器中编辑需要重启应用的属性时触发。仅在项目设置和编辑器设置中使用。


方法说明

Object get_edited_object ( )

返回当前在该检查器中选择的对象。


String get_selected_path ( ) const

获取当前选定属性的路径。