PopupMenu

继承: Popup < Window < Viewport < Item < Object

用于显示选项列表的模式窗口。

描述

PopupMenu是一个模态窗口,用于显示选项列表。对工具栏和上下文菜单很有用。

PopupMenu的大小可以通过使用Window.max_size来限制。如果项目列表的高度大于PopupMenu的最大高度,则弹出窗口中的ScrollContainer将允许用户滚动内容。如果未设置最大大小,或者设置为0,则PopupMenu高度将受到其父rect的限制。

所有set_*方法都允许负项索引,即-1访问最后一项,-2选择倒数第二项,依此类推。

增量搜索:ItemListTree一样,PopupMenu支持在控件聚焦时在列表内进行搜索。按下与项目名称的第一个字母匹配的键,选择以给定字母开头的第一个项目。在该点之后,有两种方法可以执行增量搜索:1)在超时持续时间之前再次按下相同的键,选择以相同字母开头的下一个项目。2)在超时持续时间之前按下与单词其余部分匹配的字母键,以匹配直接选择有问题的项目。如果自上次击键注册以来超时持续时间已经过去,这两个操作都将重置为列表的开头。您可以通过更改ProjectSettings.gui/timers/incremental_search_max_interval_msec来调整超时持续时间。

注意:用于项目的ID值限制为32位,而不是完整的64位int。这具有-2^322^32-1的范围,即-21474836482147483647

属性

方法

bool

activate_item_by_event(event: InputEvent, for_global_only: bool = false)

void

add_check_item(label: String, id: int = -1, accel: Key = 0)

void

add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false)

void

add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0)

void

add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false)

void

add_icon_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0)

void

add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0)

void

add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false)

void

add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false)

void

add_item(label: String, id: int = -1, accel: Key = 0)

void

add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0)

void

add_radio_check_item(label: String, id: int = -1, accel: Key = 0)

void

add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false)

void

add_separator(label: String = "", id: int = -1)

void

add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false)

void

add_submenu_item(label: String, submenu: String, id: int = -1)

void

add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1)

void

clear(free_submenus: bool = false)

int

get_focused_item() const

Key

get_item_accelerator(index: int) const

Texture2D

get_item_icon(index: int) const

int

get_item_icon_max_width(index: int) const

Color

get_item_icon_modulate(index: int) const

int

get_item_id(index: int) const

int

get_item_indent(index: int) const

int

get_item_index(id: int) const

String

get_item_language(index: int) const

Variant

get_item_metadata(index: int) const

int

get_item_multistate(index: int) const

int

get_item_multistate_max(index: int) const

Shortcut

get_item_shortcut(index: int) const

String

get_item_submenu(index: int) const

PopupMenu

get_item_submenu_node(index: int) const

String

get_item_text(index: int) const

TextDirection

get_item_text_direction(index: int) const

String

get_item_tooltip(index: int) const

bool

is_item_checkable(index: int) const

bool

is_item_checked(index: int) const

bool

is_item_disabled(index: int) const

bool

is_item_radio_checkable(index: int) const

bool

is_item_separator(index: int) const

bool

is_item_shortcut_disabled(index: int) const

bool

is_native_menu() const

bool

is_system_menu() const

void

remove_item(index: int)

void

scroll_to_item(index: int)

void

set_focused_item(index: int)

void

set_item_accelerator(index: int, accel: Key)

void

set_item_as_checkable(index: int, enable: bool)

void

set_item_as_radio_checkable(index: int, enable: bool)

void

set_item_as_separator(index: int, enable: bool)

void

set_item_checked(index: int, checked: bool)

void

set_item_disabled(index: int, disabled: bool)

void

set_item_icon(index: int, icon: Texture2D)

void

set_item_icon_max_width(index: int, width: int)

void

set_item_icon_modulate(index: int, modulate: Color)

void

set_item_id(index: int, id: int)

void

set_item_indent(index: int, indent: int)

void

set_item_language(index: int, language: String)

void

set_item_metadata(index: int, metadata: Variant)

void

set_item_multistate(index: int, state: int)

void

set_item_multistate_max(index: int, max_states: int)

void

set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false)

void

set_item_shortcut_disabled(index: int, disabled: bool)

void

set_item_submenu(index: int, submenu: String)

void

set_item_submenu_node(index: int, submenu: PopupMenu)

void

set_item_text(index: int, text: String)

void

set_item_text_direction(index: int, direction: TextDirection)

void

set_item_tooltip(index: int, tooltip: String)

void

toggle_item_checked(index: int)

void

toggle_item_multistate(index: int)

主题属性


信号

id_focused(id: int) 🔗

当用户使用ProjectSettings.input/ui_upProjectSettings.input/ui_down输入操作导航到某个id的项目时发出。


id_pressed(id: int) 🔗

当某个id的项目被按下或其加速器被激活时发出。

注意:如果id为负数(显式或由于溢出),这将返回相应的索引。


index_pressed(index: int) 🔗

当某个index的项目被按下或其加速器被激活时发出。


menu_changed() 🔗

添加、修改或删除任何项目时发出。


属性说明

  • void set_allow_search(value: bool)

  • bool get_allow_search()

如果true,则允许使用字母键导航PopupMenu


bool hide_on_checkable_item_selection = true 🔗

  • void set_hide_on_checkable_item_selection(value: bool)

  • bool is_hide_on_checkable_item_selection()

如果true,则在选中复选框或单选按钮时隐藏PopupMenu


bool hide_on_item_selection = true 🔗

  • void set_hide_on_item_selection(value: bool)

  • bool is_hide_on_item_selection()

如果true,则在选择项目时隐藏PopupMenu


bool hide_on_state_item_selection = false 🔗

  • void set_hide_on_state_item_selection(value: bool)

  • bool is_hide_on_state_item_selection()

如果true,则在选择状态项时隐藏PopupMenu


int item_count = 0 🔗

  • void set_item_count(value: int)

  • int get_item_count()

当前在列表中的项目数。


bool prefer_native_menu = false 🔗

  • void set_prefer_native_menu(value: bool)

  • bool is_prefer_native_menu()

如果trueMenuBar将在支持时使用本机菜单。

注意:如果PopupMenu链接到StatusIndicatorMenuBar或其他PopupMenu项目,则无论此属性如何,它都可以使用本机菜单,请使用is_native_menu()进行检查。


float submenu_popup_delay = 0.3 🔗

  • void set_submenu_popup_delay(value: float)

  • float get_submenu_popup_delay()

设置鼠标悬停时弹出子菜单项的延迟时间(以秒为单位)。如果弹出菜单作为另一个菜单的子菜单添加(充当子菜单),它将继承父菜单项的延迟时间。


SystemMenus system_menu_id = 0 🔗

如果设置为SystemMenus的值之一,则此PopupMenu绑定到特殊系统菜单。一次只能将一个PopupMenu绑定到每个特殊菜单。


方法说明

bool activate_item_by_event(event: InputEvent, for_global_only: bool = false) 🔗

根据PopupMenu的快捷方式和加速器检查提供的event,并激活具有匹配事件的第一项。如果for_global_onlytrue,则只会调用global设置为true的快捷方式和加速器。

如果项目已成功激活,则返回true

注意:某些Controls,例如MenuButton,会自动调用此方法。


void add_check_item(label: String, id: int = -1, accel: Key = 0) 🔗

使用textlabel添加新的可检查项。

可以选择提供一个id,以及一个加速器(accel)。如果没有提供id,将从索引中创建一个。如果没有提供accel,则将为该项目分配默认值0(对应于@GlobalScope.KEY_NONE)(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅get_item_accelerator()

注意:可检查项只显示一个复选标记,但没有任何内置检查行为,必须手动检查/取消检查。有关如何控制它的更多信息,请参阅set_item_checked()


void add_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

添加一个新的可勾选项并为其分配指定的Shortcut。将复选框的标签设置为Shortcut的名称。

可以选择提供id。如果没有提供id,将从索引创建一个。

注意:可检查项只显示一个复选标记,但没有任何内置检查行为,必须手动检查/取消检查。有关如何控制它的更多信息,请参阅set_item_checked()


void add_icon_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗

添加一个新的带有文本label和图标texture的可检查项目。

可以选择提供一个id,以及一个加速器(accel)。如果没有提供id,将从索引中创建一个。如果没有提供accel,则将为该项目分配默认值0(对应于@GlobalScope.KEY_NONE)(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅get_item_accelerator()

注意:可检查项只显示一个复选标记,但没有任何内置检查行为,必须手动检查/取消检查。有关如何控制它的更多信息,请参阅set_item_checked()


void add_icon_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

添加一个新的可勾选项并为其分配指定的Shortcut和图标texture。将复选框的标签设置为Shortcut的名称。

可以选择提供id。如果没有提供id,将从索引创建一个。

注意:可检查项只显示一个复选标记,但没有任何内置检查行为,必须手动检查/取消检查。有关如何控制它的更多信息,请参阅set_item_checked()


void add_icon_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗

添加带有文本label和图标texture的新项目。

可以选择提供一个id,以及一个加速器(accel)。如果没有提供id,将从索引中创建一个。如果没有提供accel,则将为该项目分配默认值0(对应于@GlobalScope.KEY_NONE)(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅get_item_accelerator()


void add_icon_radio_check_item(texture: Texture2D, label: String, id: int = -1, accel: Key = 0) 🔗

add_icon_check_item()相同,但使用单选检查按钮。


void add_icon_radio_check_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

add_icon_check_shortcut()相同,但使用单选检查按钮。


void add_icon_shortcut(texture: Texture2D, shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗

添加一个新项目并为其分配指定的Shortcut和图标texture。将复选框的标签设置为Shortcut的名称。

可以选择提供id。如果没有提供id,将从索引创建一个。

如果allow_echotrue,则可以使用echo事件激活快捷方式。


void add_item(label: String, id: int = -1, accel: Key = 0) 🔗

添加带有textlabel的新项目。

可以选择提供一个id,以及一个加速器(accel)。如果没有提供id,将从索引中创建一个。如果没有提供accel,则将为该项目分配默认值0(对应于@GlobalScope.KEY_NONE)(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅get_item_accelerator()

注意:提供的id仅在id_pressedid_focused信号中使用,与例如set_item_checked()中的index参数无关。


void add_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: Key = 0) 🔗

添加一个带有文本label的新多状态项。

与普通的二进制项不同,多状态项可以有两个以上的状态,由max_states定义。默认值由default_state定义。

可以选择提供一个id,以及一个快捷键(accel)。如果没有提供id,将根据索引创建一个。如果没有提供accel,则将默认值0(对应于@GlobalScope.KEY_NONE)分配给该项(这意味着它将没有任何快捷键)。有关快捷键的更多信息,请参阅get_item_accelerator()

func _ready():
    add_multistate_item("Item", 3, 0)

    index_pressed.connect(func(index: int):
            toggle_item_multistate(index)
            match get_item_multistate(index):
                0:
                    print("First state")
                1:
                    print("Second state")
                2:
                    print("Third state")
        )

注意: 多状态项不会自动更新其状态,必须手动进行。有关如何控制它的更多信息,请参阅 toggle_item_multistate()set_item_multistate()get_item_multistate()


void add_radio_check_item(label: String, id: int = -1, accel: Key = 0) 🔗

添加带有文本label的新单选检查按钮。

可以选择提供一个id,以及一个加速器(accel)。如果没有提供id,将从索引中创建一个。如果没有提供accel,则将为该项目分配默认值0(对应于@GlobalScope.KEY_NONE)(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅get_item_accelerator()

注意:可检查项只显示一个复选标记,但没有任何内置检查行为,必须手动检查/取消检查。有关如何控制它的更多信息,请参阅set_item_checked()


void add_radio_check_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false) 🔗

添加一个新的单选复选按钮并为其分配一个Shortcut。将复选框的标签设置为Shortcut的名称。

可以选择提供id。如果没有提供id,将从索引创建一个。

注意:可检查项只显示一个复选标记,但没有任何内置检查行为,必须手动检查/取消检查。有关如何控制它的更多信息,请参阅set_item_checked()


void add_separator(label: String = "", id: int = -1) 🔗

在项目之间添加分隔符。分隔符还占用一个索引,您可以使用id参数设置该索引。

可以选择提供一个label,它将出现在分隔符的中心。


void add_shortcut(shortcut: Shortcut, id: int = -1, global: bool = false, allow_echo: bool = false) 🔗

添加Shortcut

可以选择提供id。如果没有提供id,将从索引创建一个。

如果allow_echotrue,则可以使用echo事件激活快捷方式。


void add_submenu_item(label: String, submenu: String, id: int = -1) 🔗

已弃用: 更喜欢改用 add_submenu_node_item()

添加一个项目,该项目将在单击时充当父节点PopupMenu的子菜单。submenu参数必须是已作为子节点添加到该节点的现有PopupMenu的名称。当单击该项目、悬停足够长的时间或使用ui_selectui_right输入操作激活该项目时,将显示该子菜单。

可以选择提供id。如果没有提供id,将从索引创建一个。


void add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1) 🔗

添加一个项目,该项目将在单击时充当父PopupMenu节点的子菜单。当项目被单击、悬停足够长的时间或使用ui_selectui_right输入操作激活时,将显示此子菜单。

submenu必须是此PopupMenu的子节点或没有父节点(在这种情况下,它将自动添加为子节点)。如果submenu弹出窗口有另一个父节点,则此方法将失败。

可以选择提供id。如果没有提供id,将从索引创建一个。


void clear(free_submenus: bool = false) 🔗

PopupMenu中删除所有项目。如果free_submenustrue,则自动释放子菜单节点。


int get_focused_item() const 🔗

返回当前聚焦项目的索引。如果没有项目被聚焦,则返回-1


Key get_item_accelerator(index: int) const 🔗

返回给定index处的项目的加速器。加速器是一个键盘快捷键,即使当前未打开,也可以按下它来触发菜单按钮。返回值是一个整数,通常是KeyModifierMasks和Keys的组合,使用按位或,例如KEY_MASK_CTRL|KEY_ACtrl+A)。如果没有为指定的index定义加速器,get_item_accelerator()返回0(对应于@GlobalScope.KEY_NONE)。


Texture2D get_item_icon(index: int) const 🔗

返回给定index处的项目图标。


int get_item_icon_max_width(index: int) const 🔗

返回给定index处项目图标的最大允许宽度。


Color get_item_icon_modulate(index: int) const 🔗

返回在给定index处调制项目图标的Color


int get_item_id(index: int) const 🔗

返回给定index处项目的ID。id可以手动分配,而index不能。


int get_item_indent(index: int) const 🔗

返回项在给定index处的水平偏移量。


int get_item_index(id: int) const 🔗

返回包含指定id的项目的索引。索引由引擎自动分配给每个项目,不能手动设置。


String get_item_language(index: int) const 🔗

返回项目的文本语言代码。


Variant get_item_metadata(index: int) const 🔗

返回指定项的元数据,可以是任何类型。您可以使用set_item_metadata()进行设置,它提供了一种将上下文数据分配给项的简单方法。


int get_item_multistate(index: int) const 🔗

返回给定index处项目的状态。


int get_item_multistate_max(index: int) const 🔗

返回给定index处项目的最大状态。


Shortcut get_item_shortcut(index: int) const 🔗

返回与给定index处的项目关联的Shortcut


String get_item_submenu(index: int) const 🔗

已弃用: 优先改用 get_item_submenu_node()

返回给定index处项目的子菜单名称。有关如何添加子菜单的更多信息,请参阅add_submenu_item()


PopupMenu get_item_submenu_node(index: int) const 🔗

返回给定index处的项目的子菜单,如果没有添加子菜单,则返回null。有关如何添加子菜单的更多信息,请参阅add_submenu_node_item()


String get_item_text(index: int) const 🔗

返回给定index处的项目文本。


TextDirection get_item_text_direction(index: int) const 🔗

返回项目的文本基础书写方向。


String get_item_tooltip(index: int) const 🔗

返回与给定index处的项目关联的工具提示。


bool is_item_checkable(index: int) const 🔗

返回true如果给定index处的项目以某种方式可检查,即如果它有复选框或单选按钮。

注意:可检查项只显示复选标记或单选按钮,但没有任何内置检查行为,必须手动检查/取消检查。


bool is_item_checked(index: int) const 🔗

如果选中给定index处的项目,则返回true


bool is_item_disabled(index: int) const 🔗

如果给定index处的项目被禁用,则返回true。当它被禁用时,它无法被选择,或者它的操作被调用。

有关如何禁用项目的更多信息,请参见set_item_disabled()


bool is_item_radio_checkable(index: int) const 🔗

如果给定index处的项目具有单选按钮样式的可检查性,则返回true

注意:这纯粹是装饰性的;您必须添加检查/取消检查无线电组中的项目的逻辑。


bool is_item_separator(index: int) const 🔗

如果项目是分隔符,则返回true。如果是,它将显示为一行。有关如何添加分隔符的更多信息,请参阅add_separator()


bool is_item_shortcut_disabled(index: int) const 🔗

如果指定项目的快捷方式被禁用,则返回true


bool is_native_menu() const 🔗

如果此PopupMenu支持并当前使用系统本机菜单,则返回true


bool is_system_menu() const 🔗

如果菜单绑定到特殊系统菜单,则返回true


void remove_item(index: int) 🔗

从菜单中删除给定index处的项目。

注意:删除项目后的项目索引将移位1。


void scroll_to_item(index: int) 🔗

移动滚动视图以使给定index处的项目可见。


void set_focused_item(index: int) 🔗

将当前聚焦的项设置为给定的index

传递-1作为索引,以便没有项目被聚焦。


void set_item_accelerator(index: int, accel: Key) 🔗

将项目的加速器设置在给定的index。加速器是一种键盘快捷键,即使当前未打开,也可以按下它来触发菜单按钮。accel通常是KeyModifierMaskKey的组合,使用按位或,例如KEY_MASK_CTRL|KEY_ACtrl+A)。


void set_item_as_checkable(index: int, enable: bool) 🔗

设置给定index处的项目是否有复选框。如果false,则将项目的类型设置为纯文本。

注意:可检查项目只显示一个复选标记,但没有任何内置检查行为,必须手动检查/取消检查。


void set_item_as_radio_checkable(index: int, enable: bool) 🔗

将给定index处的项目类型设置为单选按钮。如果false,则将项目类型设置为纯文本。


void set_item_as_separator(index: int, enable: bool) 🔗

将给定index处的项目标记为分隔符,这意味着它将显示为一行。如果false,则将项目的类型设置为纯文本。


void set_item_checked(index: int, checked: bool) 🔗

设置给定index处项目的检查状态状态。


void set_item_disabled(index: int, disabled: bool) 🔗

启用/禁用给定index处的项目。禁用时,无法选择它,也无法调用它的操作。


void set_item_icon(index: int, icon: Texture2D) 🔗

替换给定index处项目的Texture2D图标。


void set_item_icon_max_width(index: int, width: int) 🔗

在给定的index处设置项目图标的最大允许宽度。此限制应用于图标的默认大小和icon_max_width顶部。高度根据图标的比例进行调整。


void set_item_icon_modulate(index: int, modulate: Color) 🔗

在给定的index处设置项目图标的调制Color


void set_item_id(index: int, id: int) 🔗

在给定的index处设置项目的id

id用于id_pressedid_focused信号。


void set_item_indent(index: int, indent: int) 🔗

设置项在给定index处的水平偏移量。


void set_item_language(index: int, language: String) 🔗

设置用于换行和文本整形算法的项目文本的语言代码,如果留空则使用当前语言环境。


void set_item_metadata(index: int, metadata: Variant) 🔗

设置项目的元数据,可以是任何类型。您可以稍后使用get_item_metadata()获取它,它提供了一种将上下文数据分配给项目的简单方法。


void set_item_multistate(index: int, state: int) 🔗

设置多状态项的状态。有关详细信息,请参见add_multistate_item()


void set_item_multistate_max(index: int, max_states: int) 🔗

设置多状态项的最大状态。有关详细信息,请参见add_multistate_item()


void set_item_shortcut(index: int, shortcut: Shortcut, global: bool = false) 🔗

在给定的index处为项目设置Shortcut


void set_item_shortcut_disabled(index: int, disabled: bool) 🔗

在给定的index处禁用项目的Shortcut


void set_item_submenu(index: int, submenu: String) 🔗

已弃用: 优先改用 set_item_submenu_node()

在给定的index处设置项目的子菜单。子菜单是单击项目时将显示的子PopupMenu节点的名称。


void set_item_submenu_node(index: int, submenu: PopupMenu) 🔗

在给定的index处设置项目的子菜单。子菜单是单击项目时显示的PopupMenu节点。它必须是此PopupMenu的子节点,或者没有父节点(在这种情况下,它将自动添加为子节点)。如果submenu弹出窗口有另一个父节点,则此方法将失败。


void set_item_text(index: int, text: String) 🔗

在给定的index处设置项目的文本。


void set_item_text_direction(index: int, direction: TextDirection) 🔗

设置项目的文本基础书写方向。


void set_item_tooltip(index: int, tooltip: String) 🔗

在给定的index处设置项目的String工具提示。


void toggle_item_checked(index: int) 🔗

切换给定index处项的检查状态。


void toggle_item_multistate(index: int) 🔗

循环到多状态项的下一个状态。有关详细信息,请参阅add_multistate_item()


主题属性说明

Color font_accelerator_color = Color(0.7, 0.7, 0.7, 0.8) 🔗

用于快捷方式和快捷键的文本Color,在定义时显示在菜单项名称旁边。有关加速器的更多信息,请参阅get_item_accelerator()


Color font_color = Color(0.875, 0.875, 0.875, 1) 🔗

菜单项名称的默认文本Color


Color font_disabled_color = Color(0.4, 0.4, 0.4, 0.8) 🔗

Color用于禁用菜单项的文本。


Color font_hover_color = Color(0.875, 0.875, 0.875, 1) 🔗

Color用于悬停的文本。


Color font_outline_color = Color(0, 0, 0, 1) 🔗

菜单项文本轮廓的色调。


Color font_separator_color = Color(0.875, 0.875, 0.875, 1) 🔗

Color用于标记分隔符的文本。参见add_separator()


Color font_separator_outline_color = Color(0, 0, 0, 1) 🔗

标记分隔符的文本轮廓的色调。


int h_separation = 4 🔗

项目元素之间的水平空间。


int icon_max_width = 0 🔗

项目图标的最大允许宽度。此限制应用于图标的默认大小之上,但在使用set_item_icon_max_width()设置的值之前。高度根据图标的比例进行调整。


int indent = 10 🔗

单个缩进级别的宽度。


int item_end_padding = 2 🔗

项目右侧(或左侧,在RTL布局中)的水平填充。


int item_start_padding = 2 🔗

项目左侧的水平填充(或RTL布局中的右侧)。


int outline_size = 0 🔗

项目文本大纲的大小。

注意:如果使用启用了FontFile.multichannel_signed_distance_field的字体,则其FontFile.msdf_pixel_range必须设置为至少两倍outline_size的值才能使轮廓渲染看起来正确。否则,轮廓可能会比预期的更早被切断。


int separator_outline_size = 0 🔗

标记的分隔符文本大纲的大小。


int v_separation = 4 🔗

每个菜单项之间的垂直空间。


Font font 🔗

用于菜单项的Font


Font font_separator 🔗

Font用于标记的分隔符。


int font_separator_size 🔗

标记分隔符的字体大小。


int font_size 🔗

菜单项的字体大小。


Texture2D checked 🔗

Texture2D选中复选框项目的图标。


Texture2D checked_disabled 🔗

禁用选中的复选框项目时的Texture2D图标。


Texture2D radio_checked 🔗

Texture2D选中单选按钮项的图标。


Texture2D radio_checked_disabled 🔗

禁用选中的单选按钮项时的Texture2D图标。


Texture2D radio_unchecked 🔗

Texture2D未选中单选按钮项的图标。


Texture2D radio_unchecked_disabled 🔗

禁用未选中的单选按钮项时的Texture2D图标。


Texture2D submenu 🔗

子菜单箭头的Texture2D图标(用于从左到右的布局)。


Texture2D submenu_mirrored 🔗

子菜单箭头的Texture2D图标(用于从右到左的布局)。


Texture2D unchecked 🔗

未选中复选框项的Texture2D图标。


Texture2D unchecked_disabled 🔗

禁用未选中的复选框项目时的Texture2D图标。


StyleBox hover 🔗

悬停PopupMenu项目时显示StyleBox


StyleBox labeled_separator_left 🔗

StyleBox用于标记分隔符的左侧。参见add_separator()


StyleBox labeled_separator_right 🔗

StyleBox用于标记分隔符的右侧。参见add_separator()


StyleBox panel 🔗

背景面板的StyleBox


StyleBox separator 🔗

StyleBox用于分隔符。参见add_separator()