github_url: | hide |
---|
Inherits: :ref:`Button<class_Button>` < :ref:`BaseButton<class_BaseButton>` < :ref:`Control<class_Control>` < :ref:`CanvasItem<class_CanvasItem>` < :ref:`Node<class_Node>` < :ref:`Object<class_Object>`
A button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked.
.. rst-class:: classref-introduction-group
A button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked. To create new items inside this :ref:`PopupMenu<class_PopupMenu>`, use get_popup().add_item("My Item Name")
. You can also create them directly from Godot editor's inspector.
See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
.. rst-class:: classref-reftable-group
.. rst-class:: classref-reftable-group
.. rst-class:: classref-reftable-group
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-signal
about_to_popup ( )
Emitted when the :ref:`PopupMenu<class_PopupMenu>` of this MenuButton is about to show.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-property
:ref:`int<class_int>` item_count = 0
.. rst-class:: classref-property-setget
- void set_item_count ( :ref:`int<class_int>` value )
- :ref:`int<class_int>` get_item_count ( )
The number of items currently in the list.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` switch_on_hover = false
.. rst-class:: classref-property-setget
- void set_switch_on_hover ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` is_switch_on_hover ( )
If true
, when the cursor hovers above another MenuButton within the same parent which also has switch_on_hover
enabled, it will close the current MenuButton and open the other one.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-method
:ref:`PopupMenu<class_PopupMenu>` get_popup ( ) |const|
Returns the :ref:`PopupMenu<class_PopupMenu>` contained in this button.
Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`Window.visible<class_Window_property_visible>` property.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void set_disable_shortcuts ( :ref:`bool<class_bool>` disabled )
If true
, shortcuts are disabled and cannot be used to trigger the button.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void show_popup ( )
Adjusts popup position and sizing for the MenuButton, then shows the :ref:`PopupMenu<class_PopupMenu>`. Prefer this over using get_popup().popup()
.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` font_color = Color(0.875, 0.875, 0.875, 1)
Default text :ref:`Color<class_Color>` of the MenuButton.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` font_disabled_color = Color(1, 1, 1, 0.3)
Text :ref:`Color<class_Color>` used when the MenuButton is disabled.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` font_focus_color = Color(0.95, 0.95, 0.95, 1)
Text :ref:`Color<class_Color>` used when the MenuButton is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` font_hover_color = Color(0.95, 0.95, 0.95, 1)
Text :ref:`Color<class_Color>` used when the MenuButton is being hovered.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` font_outline_color = Color(1, 1, 1, 1)
The tint of text outline of the MenuButton.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` font_pressed_color = Color(1, 1, 1, 1)
Text :ref:`Color<class_Color>` used when the MenuButton is being pressed.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` h_separation = 4
The horizontal space between MenuButton's icon and text. Negative values will be treated as 0
when used.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` outline_size = 0
The size of the text outline.
Note: If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least twice the value of :ref:`outline_size<class_MenuButton_theme_constant_outline_size>` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Font<class_Font>` of the MenuButton's text.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` font_size
Font size of the MenuButton's text.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` disabled
:ref:`StyleBox<class_StyleBox>` used when the MenuButton is disabled.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` focus
:ref:`StyleBox<class_StyleBox>` used when the MenuButton is focused. The focus
:ref:`StyleBox<class_StyleBox>` is displayed over the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` hover
:ref:`StyleBox<class_StyleBox>` used when the MenuButton is being hovered.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` normal
Default :ref:`StyleBox<class_StyleBox>` for the MenuButton.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` pressed
:ref:`StyleBox<class_StyleBox>` used when the MenuButton is being pressed.