mirror of
https://github.com/Relintai/pandemonium_engine_docs.git
synced 2025-01-23 15:17:21 +01:00
354 lines
14 KiB
ReStructuredText
354 lines
14 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. DO NOT EDIT THIS FILE!!!
|
|
.. Generated automatically from Godot engine sources.
|
|
.. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py.
|
|
.. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/Button.xml.
|
|
|
|
.. _class_Button:
|
|
|
|
Button
|
|
======
|
|
|
|
**Inherits:** :ref:`BaseButton<class_BaseButton>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
|
|
|
**Inherited By:** :ref:`CheckBox<class_CheckBox>`, :ref:`CheckButton<class_CheckButton>`, :ref:`ColorPickerButton<class_ColorPickerButton>`, :ref:`MenuButton<class_MenuButton>`, :ref:`OptionButton<class_OptionButton>`, :ref:`ToolButton<class_ToolButton>`
|
|
|
|
Standard themed Button.
|
|
|
|
Description
|
|
-----------
|
|
|
|
Button is the standard themed button. It can contain text and an icon, and will display them according to the current :ref:`Theme<class_Theme>`.
|
|
|
|
\ **Example of creating a button and assigning an action when pressed by code:**\
|
|
|
|
::
|
|
|
|
func _ready():
|
|
var button = Button.new()
|
|
button.text = "Click me"
|
|
button.connect("pressed", self, "_button_pressed")
|
|
add_child(button)
|
|
|
|
func _button_pressed():
|
|
print("Hello world!")
|
|
|
|
Buttons (like all Control nodes) can also be created in the editor, but some situations may require creating them from code.
|
|
|
|
See also :ref:`BaseButton<class_BaseButton>` which contains common properties and methods associated with this node.
|
|
|
|
\ **Note:** Buttons do not interpret touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use :ref:`TouchScreenButton<class_TouchScreenButton>` for buttons that trigger gameplay movement or actions, as :ref:`TouchScreenButton<class_TouchScreenButton>` supports multitouch.
|
|
|
|
Tutorials
|
|
---------
|
|
|
|
- `2D Dodge The Creeps Demo <https://godotengine.org/asset-library/asset/515>`__
|
|
|
|
- `OS Test Demo <https://godotengine.org/asset-library/asset/677>`__
|
|
|
|
Properties
|
|
----------
|
|
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
| :ref:`TextAlign<enum_Button_TextAlign>` | :ref:`align<class_Button_property_align>` | ``1`` |
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
| :ref:`bool<class_bool>` | :ref:`clip_text<class_Button_property_clip_text>` | ``false`` |
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
| :ref:`bool<class_bool>` | :ref:`expand_icon<class_Button_property_expand_icon>` | ``false`` |
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
| :ref:`bool<class_bool>` | :ref:`flat<class_Button_property_flat>` | ``false`` |
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
| :ref:`Texture<class_Texture>` | :ref:`icon<class_Button_property_icon>` | |
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
| :ref:`TextAlign<enum_Button_TextAlign>` | :ref:`icon_align<class_Button_property_icon_align>` | ``0`` |
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
| :ref:`String<class_String>` | :ref:`text<class_Button_property_text>` | ``""`` |
|
|
+-----------------------------------------+-------------------------------------------------------+-----------+
|
|
|
|
Theme Properties
|
|
----------------
|
|
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_color<class_Button_theme_color_font_color>` | ``Color( 0.88, 0.88, 0.88, 1 )`` |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_color_disabled<class_Button_theme_color_font_color_disabled>` | ``Color( 0.9, 0.9, 0.9, 0.2 )`` |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_color_focus<class_Button_theme_color_font_color_focus>` | ``Color( 0.94, 0.94, 0.94, 1 )`` |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_color_hover<class_Button_theme_color_font_color_hover>` | ``Color( 0.94, 0.94, 0.94, 1 )`` |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`Color<class_Color>` | :ref:`font_color_pressed<class_Button_theme_color_font_color_pressed>` | ``Color( 1, 1, 1, 1 )`` |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`hseparation<class_Button_theme_constant_hseparation>` | ``2`` |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`Font<class_Font>` | :ref:`font<class_Button_theme_font_font>` | |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`disabled<class_Button_theme_style_disabled>` | |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_Button_theme_style_focus>` | |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`hover<class_Button_theme_style_hover>` | |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_Button_theme_style_normal>` | |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
| :ref:`StyleBox<class_StyleBox>` | :ref:`pressed<class_Button_theme_style_pressed>` | |
|
|
+---------------------------------+--------------------------------------------------------------------------+----------------------------------+
|
|
|
|
Enumerations
|
|
------------
|
|
|
|
.. _enum_Button_TextAlign:
|
|
|
|
.. _class_Button_constant_ALIGN_LEFT:
|
|
|
|
.. _class_Button_constant_ALIGN_CENTER:
|
|
|
|
.. _class_Button_constant_ALIGN_RIGHT:
|
|
|
|
enum **TextAlign**:
|
|
|
|
- **ALIGN_LEFT** = **0** --- Align the text to the left.
|
|
|
|
- **ALIGN_CENTER** = **1** --- Align the text to the center.
|
|
|
|
- **ALIGN_RIGHT** = **2** --- Align the text to the right.
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _class_Button_property_align:
|
|
|
|
- :ref:`TextAlign<enum_Button_TextAlign>` **align**
|
|
|
|
+-----------+-----------------------+
|
|
| *Default* | ``1`` |
|
|
+-----------+-----------------------+
|
|
| *Setter* | set_text_align(value) |
|
|
+-----------+-----------------------+
|
|
| *Getter* | get_text_align() |
|
|
+-----------+-----------------------+
|
|
|
|
Text alignment policy for the button's text, use one of the :ref:`TextAlign<enum_Button_TextAlign>` constants.
|
|
|
|
----
|
|
|
|
.. _class_Button_property_clip_text:
|
|
|
|
- :ref:`bool<class_bool>` **clip_text**
|
|
|
|
+-----------+----------------------+
|
|
| *Default* | ``false`` |
|
|
+-----------+----------------------+
|
|
| *Setter* | set_clip_text(value) |
|
|
+-----------+----------------------+
|
|
| *Getter* | get_clip_text() |
|
|
+-----------+----------------------+
|
|
|
|
When this property is enabled, text that is too large to fit the button is clipped, when disabled the Button will always be wide enough to hold the text.
|
|
|
|
----
|
|
|
|
.. _class_Button_property_expand_icon:
|
|
|
|
- :ref:`bool<class_bool>` **expand_icon**
|
|
|
|
+-----------+------------------------+
|
|
| *Default* | ``false`` |
|
|
+-----------+------------------------+
|
|
| *Setter* | set_expand_icon(value) |
|
|
+-----------+------------------------+
|
|
| *Getter* | is_expand_icon() |
|
|
+-----------+------------------------+
|
|
|
|
When enabled, the button's icon will expand/shrink to fit the button's size while keeping its aspect.
|
|
|
|
----
|
|
|
|
.. _class_Button_property_flat:
|
|
|
|
- :ref:`bool<class_bool>` **flat**
|
|
|
|
+-----------+-----------------+
|
|
| *Default* | ``false`` |
|
|
+-----------+-----------------+
|
|
| *Setter* | set_flat(value) |
|
|
+-----------+-----------------+
|
|
| *Getter* | is_flat() |
|
|
+-----------+-----------------+
|
|
|
|
Flat buttons don't display decoration.
|
|
|
|
----
|
|
|
|
.. _class_Button_property_icon:
|
|
|
|
- :ref:`Texture<class_Texture>` **icon**
|
|
|
|
+----------+------------------------+
|
|
| *Setter* | set_button_icon(value) |
|
|
+----------+------------------------+
|
|
| *Getter* | get_button_icon() |
|
|
+----------+------------------------+
|
|
|
|
Button's icon, if text is present the icon will be placed before the text.
|
|
|
|
To edit margin and spacing of the icon, use ``hseparation`` theme property of ``Button`` and ``content_margin_*`` properties of the used :ref:`StyleBox<class_StyleBox>`\ es.
|
|
|
|
----
|
|
|
|
.. _class_Button_property_icon_align:
|
|
|
|
- :ref:`TextAlign<enum_Button_TextAlign>` **icon_align**
|
|
|
|
+-----------+-----------------------+
|
|
| *Default* | ``0`` |
|
|
+-----------+-----------------------+
|
|
| *Setter* | set_icon_align(value) |
|
|
+-----------+-----------------------+
|
|
| *Getter* | get_icon_align() |
|
|
+-----------+-----------------------+
|
|
|
|
Specifies if the icon should be aligned to the left, right, or center of a button. Uses the same :ref:`TextAlign<enum_Button_TextAlign>` constants as the text alignment. If centered, text will draw on top of the icon.
|
|
|
|
----
|
|
|
|
.. _class_Button_property_text:
|
|
|
|
- :ref:`String<class_String>` **text**
|
|
|
|
+-----------+-----------------+
|
|
| *Default* | ``""`` |
|
|
+-----------+-----------------+
|
|
| *Setter* | set_text(value) |
|
|
+-----------+-----------------+
|
|
| *Getter* | get_text() |
|
|
+-----------+-----------------+
|
|
|
|
The button's text that will be displayed inside the button's area.
|
|
|
|
Theme Property Descriptions
|
|
---------------------------
|
|
|
|
.. _class_Button_theme_color_font_color:
|
|
|
|
- :ref:`Color<class_Color>` **font_color**
|
|
|
|
+-----------+----------------------------------+
|
|
| *Default* | ``Color( 0.88, 0.88, 0.88, 1 )`` |
|
|
+-----------+----------------------------------+
|
|
|
|
Default text :ref:`Color<class_Color>` of the ``Button``.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_color_font_color_disabled:
|
|
|
|
- :ref:`Color<class_Color>` **font_color_disabled**
|
|
|
|
+-----------+---------------------------------+
|
|
| *Default* | ``Color( 0.9, 0.9, 0.9, 0.2 )`` |
|
|
+-----------+---------------------------------+
|
|
|
|
Text :ref:`Color<class_Color>` used when the ``Button`` is disabled.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_color_font_color_focus:
|
|
|
|
- :ref:`Color<class_Color>` **font_color_focus**
|
|
|
|
+-----------+----------------------------------+
|
|
| *Default* | ``Color( 0.94, 0.94, 0.94, 1 )`` |
|
|
+-----------+----------------------------------+
|
|
|
|
Text :ref:`Color<class_Color>` used when the ``Button`` is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_color_font_color_hover:
|
|
|
|
- :ref:`Color<class_Color>` **font_color_hover**
|
|
|
|
+-----------+----------------------------------+
|
|
| *Default* | ``Color( 0.94, 0.94, 0.94, 1 )`` |
|
|
+-----------+----------------------------------+
|
|
|
|
Text :ref:`Color<class_Color>` used when the ``Button`` is being hovered.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_color_font_color_pressed:
|
|
|
|
- :ref:`Color<class_Color>` **font_color_pressed**
|
|
|
|
+-----------+-------------------------+
|
|
| *Default* | ``Color( 1, 1, 1, 1 )`` |
|
|
+-----------+-------------------------+
|
|
|
|
Text :ref:`Color<class_Color>` used when the ``Button`` is being pressed.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_constant_hseparation:
|
|
|
|
- :ref:`int<class_int>` **hseparation**
|
|
|
|
+-----------+-------+
|
|
| *Default* | ``2`` |
|
|
+-----------+-------+
|
|
|
|
The horizontal space between ``Button``'s icon and text.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_font_font:
|
|
|
|
- :ref:`Font<class_Font>` **font**
|
|
|
|
:ref:`Font<class_Font>` of the ``Button``'s text.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_style_disabled:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **disabled**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is disabled.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_style_focus:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **focus**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is focused. It is displayed over the current :ref:`StyleBox<class_StyleBox>`, so using :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` will just disable the focus visual effect.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_style_hover:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **hover**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is being hovered.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_style_normal:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **normal**
|
|
|
|
Default :ref:`StyleBox<class_StyleBox>` for the ``Button``.
|
|
|
|
----
|
|
|
|
.. _class_Button_theme_style_pressed:
|
|
|
|
- :ref:`StyleBox<class_StyleBox>` **pressed**
|
|
|
|
:ref:`StyleBox<class_StyleBox>` used when the ``Button`` is being pressed.
|
|
|
|
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
|
|
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
|
|
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
|