跳到主要内容

PopupMenu

继承

Popup

简要描述

PopupMenu用于显示选项列表。

描述

PopupMenu是显示选项列表的Control

成员

类型属性名默认值
boolallow_searchfalse
intfocus_mode2
boolhide_on_checkable_item_selectiontrue
boolhide_on_item_selectiontrue
boolhide_on_state_item_selectionfalse
floatsubmenu_popup_delay0.3

方法

返回值类型方法名称
voidadd_check_item(label: String, id: int = -1, accel: int = 0)
voidadd_check_shortcut(shortcut: ShortCut, id: int = -1, global: bool = false)
voidadd_icon_check_item(texture: Texture, label: String, id: int = -1, accel: int = 0)
voidadd_icon_check_shortcut(texture: Texture, shortcut: ShortCut, id: int = -1, global: bool = false)
voidadd_icon_item(texture: Texture, label: String, id: int = -1, accel: int = 0)
voidadd_icon_radio_check_item(texture: Texture, label: String, id: int = -1, accel: int = 0)
voidadd_icon_radio_check_shortcut(texture: Texture, shortcut: ShortCut, id: int = -1, global: bool = false)
voidadd_icon_shortcut(texture: Texture, shortcut: ShortCut, id: int = -1, global: bool = false)
voidadd_item(label: String, id: int = -1, accel: int = 0)
voidadd_multistate_item(label: String, max_states: int, default_state: int = 0, id: int = -1, accel: int = 0)
voidadd_radio_check_item(label: String, id: int = -1, accel: int = 0)
voidadd_radio_check_shortcut(shortcut: ShortCut, id: int = -1, global: bool = false)
voidadd_separator(label: String = "")
voidadd_shortcut(shortcut: ShortCut, id: int = -1, global: bool = false)
voidadd_submenu_item(label: String, submenu: String, id: int = -1)
voidclear()
intget_item_accelerator(idx: int) const
intget_item_count() const
Textureget_item_icon(idx: int) const
intget_item_id(idx: int) const
intget_item_index(id: int) const
Variantget_item_metadata(idx: int) const
ShortCutget_item_shortcut(idx: int) const
Stringget_item_submenu(idx: int) const
Stringget_item_text(idx: int) const
Stringget_item_tooltip(idx: int) const
boolis_hide_on_window_lose_focus() const
boolis_item_checkable(idx: int) const
boolis_item_checked(idx: int) const
boolis_item_disabled(idx: int) const
boolis_item_radio_checkable(idx: int) const
boolis_item_separator(idx: int) const
boolis_item_shortcut_disabled(idx: int) const
voidremove_item(idx: int)
voidset_hide_on_window_lose_focus(enable: bool)
voidset_item_accelerator(idx: int, accel: int)
voidset_item_as_checkable(idx: int, enable: bool)
voidset_item_as_radio_checkable(idx: int, enable: bool)
voidset_item_as_separator(idx: int, enable: bool)
voidset_item_checked(idx: int, checked: bool)
voidset_item_disabled(idx: int, disabled: bool)
voidset_item_icon(idx: int, icon: Texture)
voidset_item_id(idx: int, id: int)
voidset_item_metadata(idx: int, metadata: Variant)
voidset_item_multistate(idx: int, state: int)
voidset_item_shortcut(idx: int, shortcut: ShortCut, global: bool = false)
voidset_item_shortcut_disabled(idx: int, disabled: bool)
voidset_item_submenu(idx: int, submenu: String)
voidset_item_text(idx: int, text: String)
voidset_item_tooltip(idx: int, tooltip: String)
voidtoggle_item_checked(idx: int)
voidtoggle_item_multistate(idx: int)

信号

  • **id_focused**

当用户使用ui_upui_down操作导航到某个id的项目时发出。


  • **id_pressed**

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


  • **index_pressed**

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


常量

成员说明

  • bool allow_search
Defaultfalse
setterset_allow_search(value)
getterget_allow_search
  • int focus_mode
Default2
setterset_focus_mode(value)
getterget_focus_mode
  • bool hide_on_checkable_item_selection
Defaulttrue
setterset_hide_on_checkable_item_selection(value)
getteris_hide_on_checkable_item_selection
  • bool hide_on_item_selection
Defaulttrue
setterset_hide_on_item_selection(value)
getteris_hide_on_item_selection
  • bool hide_on_state_item_selection
Defaultfalse
setterset_hide_on_state_item_selection(value)
getteris_hide_on_state_item_selection
  • float submenu_popup_delay
Default0.3
setterset_submenu_popup_delay(value)
getterget_submenu_popup_delay

方法说明

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

添加带有文本label的新可检查项。

可以选择提供id以及加速器(accel)。

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


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

添加一个新的可检查项,并为其指定指定的ShortCut

可以选择提供id

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


  • add_icon_check_item add_icon_check_item(texture: Texture, label: String, id: int = -1, accel: int = 0)

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

可以选择提供id以及加速器(accel)。

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


  • add_icon_check_shortcut add_icon_check_shortcut(texture: Texture, shortcut: ShortCut, id: int = -1, global: bool = false)

添加一个新的可检查项,并为其指定指定的ShortCut和图标纹理

可以选择提供id

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


  • add_icon_item add_icon_item(texture: Texture, label: String, id: int = -1, accel: int = 0)

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

可以选择提供id以及加速器(accel)。


  • add_icon_radio_check_item add_icon_radio_check_item(texture: Texture, label: String, id: int = -1, accel: int = 0)

add_icon_check_item相同,但使用单选按钮。


  • add_icon_radio_check_shortcut add_icon_radio_check_shortcut(texture: Texture, shortcut: ShortCut, id: int = -1, global: bool = false)

add_icon_check_shortcut相同,但使用单选按钮。


  • add_icon_shortcut add_icon_shortcut(texture: Texture, shortcut: ShortCut, id: int = -1, global: bool = false)

添加一个新项目,并为其指定指定的ShortCut和图标纹理

可以选择提供id


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

添加带有文本label的新项目。

可以选择提供id以及加速器(accel)。


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

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

与普通的二进制项相反,多状态项可以具有两个以上的状态,如max_states所定义。

可以选择提供id以及加速器(accel)。


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

添加一个新的单选按钮,其文本为label

可以选择提供id以及加速器(accel)。

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


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

添加一个新的单选按钮,并为其分配一个ShortCut

可以选择提供id

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


  • add_separator add_separator(label: String = "")

在项目之间添加分隔符。


  • add_shortcut add_shortcut(shortcut: ShortCut, id: int = -1, global: bool = false)

添加[快捷方式]

可以选择提供id


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

添加一个项目,该项目将在单击时充当父PopupMenu节点的子菜单。

可以选择提供id


  • clear clear()

PopupMenu中删除所有项目。


  • get_item_accelerator get_item_accelerator(idx: int) const

返回索引为idx的项目的加速器。


  • get_item_count get_item_count() const

返回PopupMenu中的项目数。


  • get_item_icon get_item_icon(idx: int) const

返回索引为idx的项目的图标。


  • get_item_id get_item_id(idx: int) const

返回索引为idx的项目的ID。


  • get_item_index get_item_index(id: int) const

返回包含指定id的项目的索引。


  • get_item_metadata get_item_metadata(idx: int) const

返回指定项目的元数据,该元数据可以是任何类型。


  • get_item_shortcut get_item_shortcut(idx: int) const

返回与指定的idx项目关联的ShortCut


  • get_item_submenu get_item_submenu(idx: int) const

返回索引为idx的项目的子菜单名称。


  • get_item_text get_item_text(idx: int) const

返回索引为idx的项目的文本。


  • get_item_tooltip get_item_tooltip(idx: int) const

返回与指定索引索引idx关联的工具提示。


  • is_hide_on_window_lose_focus is_hide_on_window_lose_focus() const

如果弹出窗口在窗口是否失去焦点时将被隐藏,则返回true


  • is_item_checkable is_item_checkable(idx: int) const

如果索引idx上的项目可以某种方式检查,即是否具有复选框或单选按钮,则返回true

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


  • is_item_checked is_item_checked(idx: int) const

如果选中索引为idx的项,则返回true


  • is_item_disabled is_item_disabled(idx: int) const

如果索引idx处的项目被禁用,则返回true

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


  • is_item_radio_checkable is_item_radio_checkable(idx: int) const

如果索引为idx的项目具有单选按钮样式的可检查性,则返回true

注意:这纯粹是化妆品;


  • is_item_separator is_item_separator(idx: int) const

如果该项是分隔符,则返回true


  • is_item_shortcut_disabled is_item_shortcut_disabled(idx: int) const

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


  • remove_item remove_item(idx: int)

从菜单中删除索引为idx的项目。

注意:删除的项目之后的项目索引将移动一。


  • set_hide_on_window_lose_focus set_hide_on_window_lose_focus(enable: bool)

窗口失去焦点时隐藏PopupMenu


  • set_item_accelerator set_item_accelerator(idx: int, accel: int)

在索引idx处设置项目的加速器。


  • set_item_as_checkable set_item_as_checkable(idx: int, enable: bool)

设置索引idx处的项目是否具有复选框。

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


  • set_item_as_radio_checkable set_item_as_radio_checkable(idx: int, enable: bool)

将指定索引idx上的项目类型设置为单选按钮。


  • set_item_as_separator set_item_as_separator(idx: int, enable: bool)

将索引idx处的项目标记为分隔符,这意味着它将显示为一行。


  • set_item_checked set_item_checked(idx: int, checked: bool)

在索引idx处设置项目的检查状态。


  • set_item_disabled set_item_disabled(idx: int, disabled: bool)

启用/禁用索引为idx的项目。


  • set_item_icon set_item_icon(idx: int, icon: Texture)

替换指定的idxTexture图标。


  • set_item_id set_item_id(idx: int, id: int)

将项目的id设置为索引idx


  • set_item_metadata set_item_metadata(idx: int, metadata: Variant)

设置项目的元数据,该元数据可以是任何类型。


  • set_item_multistate set_item_multistate(idx: int, state: int)

设置多状态项目的状态。


  • set_item_shortcut set_item_shortcut(idx: int, shortcut: ShortCut, global: bool = false)

为指定的项目idx设置ShortCut


  • set_item_shortcut_disabled set_item_shortcut_disabled(idx: int, disabled: bool)

禁用指定索引idxShortCut


  • set_item_submenu set_item_submenu(idx: int, submenu: String)

在索引idx处设置项目的子菜单。


  • set_item_text set_item_text(idx: int, text: String)

将项目的文本设置为索引idx


  • set_item_tooltip set_item_tooltip(idx: int, tooltip: String)

将项目的String工具提示设置为指定的索引idx


  • toggle_item_checked toggle_item_checked(idx: int)

切换指定索引idx的项目的检查状态。


  • toggle_item_multistate toggle_item_multistate(idx: int)

循环到多状态项目的下一个状态。