.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.

.. _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:`OptionButton<class_optionbutton>`, :ref:`ColorPickerButton<class_colorpickerbutton>`, :ref:`CheckButton<class_checkbutton>`, :ref:`MenuButton<class_menubutton>`, :ref:`ToolButton<class_toolbutton>`, :ref:`CheckBox<class_checkbox>`

**Category:** Core

Brief Description
-----------------

Standard themed Button.

Member Functions
----------------

+--------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_texture>`  | :ref:`get_button_icon<class_Button_get_button_icon>`  **(** **)** const                                  |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>`        | :ref:`get_clip_text<class_Button_get_clip_text>`  **(** **)** const                                      |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`String<class_string>`    | :ref:`get_text<class_Button_get_text>`  **(** **)** const                                                |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>`          | :ref:`get_text_align<class_Button_get_text_align>`  **(** **)** const                                    |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>`        | :ref:`is_flat<class_Button_is_flat>`  **(** **)** const                                                  |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_button_icon<class_Button_set_button_icon>`  **(** :ref:`Texture<class_texture>` texture  **)** |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_clip_text<class_Button_set_clip_text>`  **(** :ref:`bool<class_bool>` enabled  **)**           |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_flat<class_Button_set_flat>`  **(** :ref:`bool<class_bool>` enabled  **)**                     |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_text<class_Button_set_text>`  **(** :ref:`String<class_string>` text  **)**                    |
+--------------------------------+----------------------------------------------------------------------------------------------------------+
| void                           | :ref:`set_text_align<class_Button_set_text_align>`  **(** :ref:`int<class_int>` align  **)**             |
+--------------------------------+----------------------------------------------------------------------------------------------------------+

Member Variables
----------------

- :ref:`int<class_int>` **align**
- :ref:`bool<class_bool>` **clip_text**
- :ref:`bool<class_bool>` **flat**
- :ref:`Texture<class_texture>` **icon**
- :ref:`String<class_string>` **text**

Numeric Constants
-----------------

- **ALIGN_LEFT** = **0** --- Align the text to the left.
- **ALIGN_CENTER** = **1** --- Center the text.
- **ALIGN_RIGHT** = **2** --- Align the text to the right.

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>`.

Member Function Description
---------------------------

.. _class_Button_get_button_icon:

- :ref:`Texture<class_texture>`  **get_button_icon**  **(** **)** const

Return the button icon.

.. _class_Button_get_clip_text:

- :ref:`bool<class_bool>`  **get_clip_text**  **(** **)** const

Return the state of the *clip_text* property (see :ref:`set_clip_text<class_Button_set_clip_text>`)

.. _class_Button_get_text:

- :ref:`String<class_string>`  **get_text**  **(** **)** const

Return the button text.

.. _class_Button_get_text_align:

- :ref:`int<class_int>`  **get_text_align**  **(** **)** const

Return the text alignment policy.

.. _class_Button_is_flat:

- :ref:`bool<class_bool>`  **is_flat**  **(** **)** const

Return the state of the *flat* property (see :ref:`set_flat<class_Button_set_flat>`).

.. _class_Button_set_button_icon:

- void  **set_button_icon**  **(** :ref:`Texture<class_texture>` texture  **)**

Set the icon that will be displayed next to the text inside the button area.

.. _class_Button_set_clip_text:

- void  **set_clip_text**  **(** :ref:`bool<class_bool>` enabled  **)**

Set the *clip_text* property of a Button. When this property is enabled, text that is too large to fit the button is clipped, when disabled (default) the Button will always be wide enough to hold the text.

.. _class_Button_set_flat:

- void  **set_flat**  **(** :ref:`bool<class_bool>` enabled  **)**

Set the *flat* property of a Button. Flat buttons don't display decoration unless hovered or pressed.

.. _class_Button_set_text:

- void  **set_text**  **(** :ref:`String<class_string>` text  **)**

Set the button text, which will be displayed inside the button area.

.. _class_Button_set_text_align:

- void  **set_text_align**  **(** :ref:`int<class_int>` align  **)**

Set the text alignment policy, using one of the ALIGN\_\* constants.


