Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PopupMenu
继承: Popup < Window < Viewport < Node < Object
用于显示选项列表的模态窗口。
描述
PopupMenu 是用于显示选项列表的模态窗口,常见于工具栏和上下文菜单。
PopupMenu 的大小可以使用 Window.max_size 限制。如果菜单项列表的高度大于 PopupMenu 的最大高度,则会在弹出框中使用 ScrollContainer 让用户滚动内容。如果没有设置最大尺寸或者设为了 0
,则该 PopupMenu 的高度会被限制在父级的矩形框之中。
所有的 set_*
方法都允许使用负数菜单项索引,即 -1
访问的是最后一个菜单项,-2
选择的是倒数第二个菜单项,依次类推。
增量搜索:与 ItemList 和 Tree 类似,PopupMenu 也支持在聚焦控件时在列表中进行搜索。按下与某个条目名称首字母一致的按键,就会选中以该字母开头的第一个条目。在此之后,进行增量搜索的办法有两种:1)在超时前再次按下同一个按键,选中以该字母开头的下一个条目。2)在超时前按下剩余字母对应的按键,直接匹配并选中所需的条目。这两个动作都会在最后一次按键超时后重置回列表顶端。你可以通过 ProjectSettings.gui/timers/incremental_search_max_interval_msec 修改超时时长。
注意:菜单项的 ID 有 32 位的限制,不是完整 int 的 64 位。取值范围为 -2^32
到 2^32 - 1
,即 -2147483648
到 2147483647
。
属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
transparent |
|
|
transparent_bg |
|
方法
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 |
|
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 |
|
get_focused_item() const |
|
get_item_accelerator(index: int) const |
|
get_item_icon(index: int) const |
|
get_item_icon_max_width(index: int) const |
|
get_item_icon_modulate(index: int) const |
|
get_item_id(index: int) const |
|
get_item_indent(index: int) const |
|
get_item_index(id: int) const |
|
get_item_language(index: int) const |
|
get_item_metadata(index: int) const |
|
get_item_multistate(index: int) const |
|
get_item_multistate_max(index: int) const |
|
get_item_shortcut(index: int) const |
|
get_item_submenu(index: int) const |
|
get_item_submenu_node(index: int) const |
|
get_item_text(index: int) const |
|
get_item_text_direction(index: int) const |
|
get_item_tooltip(index: int) const |
|
is_item_checkable(index: int) const |
|
is_item_checked(index: int) const |
|
is_item_disabled(index: int) const |
|
is_item_radio_checkable(index: int) const |
|
is_item_separator(index: int) const |
|
is_item_shortcut_disabled(index: int) const |
|
is_native_menu() const |
|
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) |
主题属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
信号
用户使用 ProjectSettings.input/ui_up 或 ProjectSettings.input/ui_down 输入动作移动至 ID 为 id
的菜单项时发出。
ID 为 id
的菜单项被按下或者由快捷键激活时发出。
注意:如果 id
为负数(无论是明确指定的还是由于溢出导致的),将返回相应的索引来代替。
索引为 index
的菜单项被按下或者由快捷键激活时发出。
menu_changed() 🔗
发生菜单项的添加、修改、删除时发出。
属性说明
如果为 true
,允许用字母键导航 PopupMenu。
bool hide_on_checkable_item_selection = true
🔗
如果为 true
,则在选中复选框或单选按钮时隐藏 PopupMenu。
bool hide_on_item_selection = true
🔗
如果为 true
,当一个项目被选中时隐藏 PopupMenu。
bool hide_on_state_item_selection = false
🔗
如果为 true
,则在选中状态项时隐藏 PopupMenu。
当前列表中的项目数。
bool prefer_native_menu = false
🔗
如果为 true
,则支持原生菜单时 MenuBar 会使用原生菜单。
注意:如果 PopupMenu 与 StatusIndicator、MenuBar 或其他 PopupMenu 菜单项之间存在链接,则无论该属性为何值,均可使用原生菜单,请使用 is_native_menu() 检查。
float submenu_popup_delay = 0.3
🔗
设置鼠标悬停时子菜单项弹出的延迟时间,以秒为单位。如果弹出菜单被添加为另一个菜单的子菜单(作为子菜单),它将继承父菜单项的延迟时间。
SystemMenus system_menu_id = 0
🔗
void set_system_menu(value: SystemMenus)
SystemMenus get_system_menu()
如果设置为 SystemMenus 的值之一,则该 PopupMenu 将绑定到特殊系统菜单。每个特殊菜单在同一时间只能绑定一个 PopupMenu。
方法说明
bool activate_item_by_event(event: InputEvent, for_global_only: bool = false) 🔗
根据 PopupMenu 的快捷键和加速器检查提供的 event
,并激活匹配事件的第一个项目。如果 for_global_only
为 true
,则仅调用 global
被设置为 true
的快捷键和加速器。
如果项目已成功激活,则返回 true
。
注意:某些 Control,例如 MenuButton,会自动调用该方法。
void add_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_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_echo
为 true
,则快捷键可以被回响事件激活。
void add_item(label: String, id: int = -1, accel: Key = 0) 🔗
添加一个带有文本 label
的新项。
可以选择提供一个 id
以及一个加速器(accel
)。如果未提供 id
,将从索引中创建一个。如果未提供 accel
,则默认值 0(对应于 @GlobalScope.KEY_NONE)将被分配给该项(这意味着它不会有任何加速器)。有关加速器的更多信息,请参阅 get_item_accelerator()。
注意:提供的 id
仅用于 id_pressed 和 id_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("菜单项", 3, 0)
index_pressed.connect(func(index: int):
toggle_item_multistate(index)
match get_item_multistate(index):
0:
print("甲状态")
1:
print("乙状态")
2:
print("丙状态")
)
注意:多状态菜单项的状态不会自动变化,必须手动修改。控制方法见 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_echo
为 true
,则快捷键可以被回响事件激活。
void add_submenu_item(label: String, submenu: String, id: int = -1) 🔗
已弃用: Prefer using add_submenu_node_item() instead.
添加菜单项,点击时会作为父级 PopupMenu 节点的子菜单。submenu
参数必须是已作为子节点添加到此节点的现有 PopupMenu 的名称。当点击该项目、悬停足够长的时间或使用 ui_select
或 ui_right
输入操作激活该子菜单时,将显示该子菜单。
还可以提供 id
。如果没有提供 id
,则会根据索引来创建。
void add_submenu_node_item(label: String, submenu: PopupMenu, id: int = -1) 🔗
添加一个菜单项,点击时会作为父级 PopupMenu 节点的子菜单。当点击该项目、悬停足够长的时间或使用 ui_select
或 ui_right
输入操作激活该子菜单时,将显示该子菜单。
submenu
必须是该 PopupMenu 的子节点,或者没有父节点(在这种情况下,它将自动添加为子节点)。如果 submenu
弹出窗口有另一个父级节点,则该方法将失败。
还可以选择提供 id
。如果没有提供 id
,则将从索引创建一个。
void clear(free_submenus: bool = false) 🔗
移除 PopupMenu 中的所有项目。如果 free_submenus
为 true
,则自动释放子菜单节点。
int get_focused_item() const 🔗
返回当前焦点项目的索引。如果没有焦点,则返回 -1
。
Key get_item_accelerator(index: int) const 🔗
返回给定 index
处项目的加速器。加速器是一种键盘快捷键,即使当前未打开菜单按钮,也可以按下它来触发菜单按钮。返回值是一个整数,通常是 KeyModifierMask 和 Key 使用按位或操作的组合,例如 KEY_MASK_CTRL | KEY_A
(Ctrl + 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
可以手动分配,而索引则不能。
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 🔗
已弃用: Prefer using get_item_submenu_node() instead.
返回给定 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 🔗
如果给定 index
处的菜单项可以某种方式勾选,即如果它有一个复选框或单选按钮,则返回 true
。
注意:可勾选项仅显示一个勾选标记或单选按钮,但没有任何内置的勾选行为,必须手动勾选/取消勾选。
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
。
如果系统原生菜单受支持,且当前由该 PopupMenu 使用,则返回 true
。
如果菜单与特殊系统菜单进行了绑定,则返回 true
。
void remove_item(index: int) 🔗
从菜单中移除给定 index
处的菜单项。
注意:被移除的菜单项后面的菜单项的索引将移动一位。
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
通常是 KeyModifierMask 和 Key 使用按位或操作的组合,例如 KEY_MASK_CTRL | KEY_A
(Ctrl + 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_pressed 和 id_focused 等信号中会用到 id
。
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) 🔗
已弃用: Prefer using set_item_submenu_node() instead.
设置位于给定 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)
🔗
带标签分隔符的文本轮廓的色调。
菜单项元素之间的水平间距。
菜单项图标所允许的最大宽度。这是在图标默认大小的基础上的限制,在 set_item_icon_max_width() 所设置的值之前生效。高度会根据图标的长宽比调整。
单个缩进级别的宽度。
所有菜单项右侧的水平内边距(RTL 布局中为左侧)。
所有菜单项左侧的水平内边距(RTL 布局中为右侧)。
项目文本轮廓的大小。
注意:如果使用启用了 FontFile.multichannel_signed_distance_field 的字体,其 FontFile.msdf_pixel_range 必须至少设置为 outline_size 的两倍,轮廓渲染才能看起来正确。否则,轮廓可能会比预期的更早被切断。
int separator_outline_size = 0
🔗
带标签分隔符的文本轮廓的大小。
每个菜单项之间的垂直间距。
用于菜单项的 Font 字体。
用于带文字分隔线的 Font 字体。
带标签分隔符的字体大小。
菜单项的字体大小。
Texture2D 图标,用于处于选中状态的复选项。
Texture2D 图标,用于处于选中状态的已禁用复选项。
Texture2D 图标,用于处于选中状态的单选项。
Texture2D radio_checked_disabled 🔗
Texture2D 图标,用于处于选中状态的已禁用单选项。
Texture2D 图标,用于处于未选状态的单选项。
Texture2D radio_unchecked_disabled 🔗
Texture2D 图标,用于处于未选状态的已禁用单选项。
Texture2D 图标,用于子菜单箭头(用于从左至右布局)。
Texture2D 图标,用于子菜单箭头(用于从右至左布局)。
Texture2D 图标,用于处于未选状态的复选项。
Texture2D unchecked_disabled 🔗
Texture2D 图标,用于处于未选状态的已禁用复选项。
当 PopupMenu 菜单项被悬停时显示的 StyleBox。
StyleBox labeled_separator_left 🔗
用于标签分隔器的左侧 StyleBox。请参阅 add_separator()。
StyleBox labeled_separator_right 🔗
用于标签分隔器的右侧 StyleBox。请参阅 add_separator()。
用于背景面板的 StyleBox。
用于分隔符的 StyleBox。请参阅 add_separator()。