MenuButton

Inherits: Button < BaseButton < Control < CanvasItem < Node < Object

点击后会弹出 PopupMenu 的特殊按钮。

描述

点击后会弹出 PopupMenu 的特殊按钮。

可以使用 get_popup().add_item("菜单项目名称") 在这个 PopupMenu 中创建新项目。你也可以直接从编辑器中创建它们。要做到这点,选择 MenuButton 节点,然后在 2D 编辑器顶部的工具栏中,点击项目,然后点击弹出窗口中的添加。你将能够赋予每个项目新的属性。

与该节点相关的常用属性和方法请参阅 BaseButton

属性

ActionMode

action_mode

0 (overrides BaseButton)

bool

flat

true (overrides Button)

FocusMode

focus_mode

0 (overrides Control)

bool

switch_on_hover

false

bool

toggle_mode

true (overrides BaseButton)

方法

PopupMenu

get_popup ( ) const

void

set_disable_shortcuts ( bool disabled )

主题属性

Color

font_color

Color( 0.88, 0.88, 0.88, 1 )

Color

font_color_disabled

Color( 1, 1, 1, 0.3 )

Color

font_color_focus

Color( 0.94, 0.94, 0.94, 1 )

Color

font_color_hover

Color( 0.94, 0.94, 0.94, 1 )

Color

font_color_pressed

Color( 1, 1, 1, 1 )

int

hseparation

3

Font

font

StyleBox

disabled

StyleBox

focus

StyleBox

hover

StyleBox

normal

StyleBox

pressed

信号

  • about_to_show ( )

当此MenuButton的PopupMenu即将显示时触发。

属性说明

  • bool switch_on_hover

Default

false

Setter

set_switch_on_hover(value)

Getter

is_switch_on_hover()

如果true,当光标悬停在同一父级中也启用了switch_on_hover的另一个MenuButton上方时,它将关闭当前的MenuButton并打开另一个。

方法说明

返回这个按钮中包含的 PopupMenu

警告:这是一个必需的内部节点,移除和释放它可能会导致崩溃。如果你想隐藏它或它的任何子节点,请使用其 CanvasItem.visible 属性。


  • void set_disable_shortcuts ( bool disabled )

如果true,快捷方式将被禁用,无法用于触发按钮。

Theme Property Descriptions

Default

Color( 0.88, 0.88, 0.88, 1 )

MenuButton默认的字体Color颜色。


  • Color font_color_disabled

Default

Color( 1, 1, 1, 0.3 )

MenuButton被禁用时的字体Color颜色。


Default

Color( 0.94, 0.94, 0.94, 1 )

MenuButton获得焦点时使用的文本Color。只替换按钮的正常文本颜色。禁用、悬停和按下状态优先于这个颜色。


Default

Color( 0.94, 0.94, 0.94, 1 )

当鼠标在 MenuButton 上悬停时使用的字体 Color 颜色。


  • Color font_color_pressed

Default

Color( 1, 1, 1, 1 )

MenuButton被按下时使用的字体Color颜色。


  • int hseparation

Default

3

MenuButton的文字和图标之间的水平间隙。


MenuButton文本的Font


MenuButton被禁用时使用的StyleBox


MenuButton被聚焦时使用的StyleBox。它显示在当前的StyleBox上,所以使用StyleBoxEmpty将只是禁用焦点的视觉效果。


当鼠标在 MenuButton 上悬停时使用的 StyleBox 样式盒。


MenuButton的默认StyleBox样式盒。


MenuButton被按下时的StyleBox样式盒。