MenuBar

继承: Control < CanvasItem < Node < Object

水平菜单栏,会为每个 PopupMenu 类型的子节点创建一个 MenuButton

描述

水平菜单栏,会为每个 PopupMenu 类型的子节点创建一个 MenuButton。通过添加 PopupMenu 节点来创建新的菜单选项。

属性

bool

flat

false

String

language

“”

bool

prefer_global_menu

true

int

start_index

-1

bool

switch_on_hover

true

TextDirection

text_direction

0

方法

int

get_menu_count() const

PopupMenu

get_menu_popup(menu: int) const

String

get_menu_title(menu: int) const

String

get_menu_tooltip(menu: int) const

bool

is_menu_disabled(menu: int) const

bool

is_menu_hidden(menu: int) const

bool

is_native_menu() const

void

set_disable_shortcuts(disabled: bool)

void

set_menu_disabled(menu: int, disabled: bool)

void

set_menu_hidden(menu: int, hidden: bool)

void

set_menu_title(menu: int, title: String)

void

set_menu_tooltip(menu: int, tooltip: String)

主题属性

Color

font_color

Color(0.875, 0.875, 0.875, 1)

Color

font_disabled_color

Color(0.875, 0.875, 0.875, 0.5)

Color

font_focus_color

Color(0.95, 0.95, 0.95, 1)

Color

font_hover_color

Color(0.95, 0.95, 0.95, 1)

Color

font_hover_pressed_color

Color(1, 1, 1, 1)

Color

font_outline_color

Color(0, 0, 0, 1)

Color

font_pressed_color

Color(1, 1, 1, 1)

int

h_separation

4

int

outline_size

0

Font

font

int

font_size

StyleBox

disabled

StyleBox

disabled_mirrored

StyleBox

hover

StyleBox

hover_mirrored

StyleBox

hover_pressed

StyleBox

hover_pressed_mirrored

StyleBox

normal

StyleBox

normal_mirrored

StyleBox

pressed

StyleBox

pressed_mirrored


属性说明

bool flat = false 🔗

  • void set_flat(value: bool)

  • bool is_flat()

扁平的 MenuBar,不显示项目装饰。


String language = "" 🔗

语言代码,用于断行和文本塑形算法,如果留空则使用当前区域设置。


bool prefer_global_menu = true 🔗

  • void set_prefer_global_menu(value: bool)

  • bool is_prefer_global_menu()

如果为 true,则 MenuBar 会在支持系统全局菜单时使用系统全局菜单。


int start_index = -1 🔗

  • void set_start_index(value: int)

  • int get_start_index()

在全局菜单中插入第一个 MenuBar 项目的位置。


bool switch_on_hover = true 🔗

  • void set_switch_on_hover(value: bool)

  • bool is_switch_on_hover()

如果为 true,当光标悬停在菜单项上方时,将关闭当前的 PopupMenu 并打开另一个。


TextDirection text_direction = 0 🔗

基础文本书写方向。


方法说明

int get_menu_count() const 🔗

返回菜单项的数量。


PopupMenu get_menu_popup(menu: int) const 🔗

返回与菜单项关联的 PopupMenu


String get_menu_title(menu: int) const 🔗

返回菜单项的标题。


String get_menu_tooltip(menu: int) const 🔗

返回菜单项的工具提示。


bool is_menu_disabled(menu: int) const 🔗

如果菜单项为禁用状态,则返回 true


bool is_menu_hidden(menu: int) const 🔗

如果菜单项为隐藏状态,则返回 true


bool is_native_menu() const 🔗

如果支持系统全局菜单,而且该 MenuBar 使用全局菜单,则返回 true


void set_disable_shortcuts(disabled: bool) 🔗

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


void set_menu_disabled(menu: int, disabled: bool) 🔗

true 时,菜单项为禁用状态。


void set_menu_hidden(menu: int, hidden: bool) 🔗

true 时,菜单项为隐藏状态。


void set_menu_title(menu: int, title: String) 🔗

设置菜单项的标题。


void set_menu_tooltip(menu: int, tooltip: String) 🔗

设置菜单项的工具提示。


主题属性说明

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

菜单项的默认文字 Color


Color font_disabled_color = Color(0.875, 0.875, 0.875, 0.5) 🔗

菜单项处于禁用状态时使用的文字 Color


Color font_focus_color = Color(0.95, 0.95, 0.95, 1) 🔗

菜单项处于聚焦状态时使用的文字 Color。只替换按钮的正常文本颜色。禁用、悬停和按下状态优先于这个颜色。


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

菜单项处于悬停状态时使用的文字 Color


Color font_hover_pressed_color = Color(1, 1, 1, 1) 🔗

菜单项处于悬停且按下状态时使用的文字 Color


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

菜单项文本轮廓的色调。


Color font_pressed_color = Color(1, 1, 1, 1) 🔗

菜单项处于按下状态时使用的文字 Color


int h_separation = 4 🔗

菜单项之间的水平距离。


int outline_size = 0 🔗

文字轮廓的大小。

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


Font font 🔗

菜单项文本的字体 Font


int font_size 🔗

菜单项文本的字体大小。


StyleBox disabled 🔗

菜单项处于禁用状态时使用的 StyleBox


StyleBox disabled_mirrored 🔗

菜单项处于禁用状态时使用的 StyleBox(用于从右至左布局)。


StyleBox hover 🔗

菜单项处于悬停状态时使用的 StyleBox


StyleBox hover_mirrored 🔗

菜单项处于悬停状态时使用的 StyleBox(用于从右至左布局)。


StyleBox hover_pressed 🔗

菜单项处于按下并悬停状态时使用的 StyleBox


StyleBox hover_pressed_mirrored 🔗

菜单项处于按下并悬停状态时使用的 StyleBox(用于从右至左布局)。


StyleBox normal 🔗

菜单项的默认 StyleBox


StyleBox normal_mirrored 🔗

菜单项的默认 StyleBox(用于从右至左布局)。


StyleBox pressed 🔗

菜单项处于按下状态时使用的 StyleBox


StyleBox pressed_mirrored 🔗

菜单项处于按下状态时使用的 StyleBox(用于从右至左布局)。