mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
290 lines
13 KiB
ReStructuredText
290 lines
13 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. DO NOT EDIT THIS FILE!!!
|
|
.. Generated automatically from Godot engine sources.
|
|
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
|
|
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SpinBox.xml.
|
|
|
|
.. _class_SpinBox:
|
|
|
|
SpinBox
|
|
=======
|
|
|
|
**Inherits:** :ref:`Range<class_Range>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
|
|
|
An input field for numbers.
|
|
|
|
.. rst-class:: classref-introduction-group
|
|
|
|
Description
|
|
-----------
|
|
|
|
**SpinBox** is a numerical input text field. It allows entering integers and floating point numbers.
|
|
|
|
\ **Example:**\
|
|
|
|
|
|
.. tabs::
|
|
|
|
.. code-tab:: gdscript
|
|
|
|
var spin_box = SpinBox.new()
|
|
add_child(spin_box)
|
|
var line_edit = spin_box.get_line_edit()
|
|
line_edit.context_menu_enabled = false
|
|
spin_box.horizontal_alignment = LineEdit.HORIZONTAL_ALIGNMENT_RIGHT
|
|
|
|
.. code-tab:: csharp
|
|
|
|
var spinBox = new SpinBox();
|
|
AddChild(spinBox);
|
|
var lineEdit = spinBox.GetLineEdit();
|
|
lineEdit.ContextMenuEnabled = false;
|
|
spinBox.AlignHorizontal = LineEdit.HorizontalAlignEnum.Right;
|
|
|
|
|
|
|
|
The above code will create a **SpinBox**, disable context menu on it and set the text alignment to right.
|
|
|
|
See :ref:`Range<class_Range>` class for more options over the **SpinBox**.
|
|
|
|
\ **Note:** With the **SpinBox**'s context menu disabled, you can right-click the bottom half of the spinbox to set the value to its minimum, while right-clicking the top half sets the value to its maximum.
|
|
|
|
\ **Note:** **SpinBox** relies on an underlying :ref:`LineEdit<class_LineEdit>` node. To theme a **SpinBox**'s background, add theme items for :ref:`LineEdit<class_LineEdit>` and customize them.
|
|
|
|
\ **Note:** If you want to implement drag and drop for the underlying :ref:`LineEdit<class_LineEdit>`, you can use :ref:`Control.set_drag_forwarding<class_Control_method_set_drag_forwarding>` on the node returned by :ref:`get_line_edit<class_SpinBox_method_get_line_edit>`.
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Properties
|
|
----------
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | :ref:`alignment<class_SpinBox_property_alignment>` | ``0`` |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`custom_arrow_step<class_SpinBox_property_custom_arrow_step>` | ``0.0`` |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`editable<class_SpinBox_property_editable>` | ``true`` |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`prefix<class_SpinBox_property_prefix>` | ``""`` |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`select_all_on_focus<class_SpinBox_property_select_all_on_focus>` | ``false`` |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| |bitfield|\<:ref:`SizeFlags<enum_Control_SizeFlags>`\> | size_flags_vertical | ``1`` (overrides :ref:`Control<class_Control_property_size_flags_vertical>`) |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | step | ``1.0`` (overrides :ref:`Range<class_Range_property_step>`) |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`String<class_String>` | :ref:`suffix<class_SpinBox_property_suffix>` | ``""`` |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`update_on_text_changed<class_SpinBox_property_update_on_text_changed>` | ``false`` |
|
|
+-------------------------------------------------------------------+------------------------------------------------------------------------------+------------------------------------------------------------------------------+
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Methods
|
|
-------
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+---------------------------------+----------------------------------------------------------------------+
|
|
| void | :ref:`apply<class_SpinBox_method_apply>` **(** **)** |
|
|
+---------------------------------+----------------------------------------------------------------------+
|
|
| :ref:`LineEdit<class_LineEdit>` | :ref:`get_line_edit<class_SpinBox_method_get_line_edit>` **(** **)** |
|
|
+---------------------------------+----------------------------------------------------------------------+
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Theme Properties
|
|
----------------
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-----------------------------------+------------------------------------------------+
|
|
| :ref:`Texture2D<class_Texture2D>` | :ref:`updown<class_SpinBox_theme_icon_updown>` |
|
|
+-----------------------------------+------------------------------------------------+
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _class_SpinBox_property_alignment:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **alignment** = ``0``
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- void **set_horizontal_alignment** **(** :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` value **)**
|
|
- :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **get_horizontal_alignment** **(** **)**
|
|
|
|
Changes the alignment of the underlying :ref:`LineEdit<class_LineEdit>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpinBox_property_custom_arrow_step:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`float<class_float>` **custom_arrow_step** = ``0.0``
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- void **set_custom_arrow_step** **(** :ref:`float<class_float>` value **)**
|
|
- :ref:`float<class_float>` **get_custom_arrow_step** **(** **)**
|
|
|
|
If not ``0``, :ref:`Range.value<class_Range_property_value>` will always be rounded to a multiple of :ref:`custom_arrow_step<class_SpinBox_property_custom_arrow_step>` when interacting with the arrow buttons of the **SpinBox**.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpinBox_property_editable:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`bool<class_bool>` **editable** = ``true``
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- void **set_editable** **(** :ref:`bool<class_bool>` value **)**
|
|
- :ref:`bool<class_bool>` **is_editable** **(** **)**
|
|
|
|
If ``true``, the **SpinBox** will be editable. Otherwise, it will be read only.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpinBox_property_prefix:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`String<class_String>` **prefix** = ``""``
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- void **set_prefix** **(** :ref:`String<class_String>` value **)**
|
|
- :ref:`String<class_String>` **get_prefix** **(** **)**
|
|
|
|
Adds the specified prefix string before the numerical value of the **SpinBox**.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpinBox_property_select_all_on_focus:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`bool<class_bool>` **select_all_on_focus** = ``false``
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- void **set_select_all_on_focus** **(** :ref:`bool<class_bool>` value **)**
|
|
- :ref:`bool<class_bool>` **is_select_all_on_focus** **(** **)**
|
|
|
|
If ``true``, the **SpinBox** will select the whole text when the :ref:`LineEdit<class_LineEdit>` gains focus. Clicking the up and down arrows won't trigger this behavior.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpinBox_property_suffix:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`String<class_String>` **suffix** = ``""``
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- void **set_suffix** **(** :ref:`String<class_String>` value **)**
|
|
- :ref:`String<class_String>` **get_suffix** **(** **)**
|
|
|
|
Adds the specified suffix string after the numerical value of the **SpinBox**.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpinBox_property_update_on_text_changed:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`bool<class_bool>` **update_on_text_changed** = ``false``
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- void **set_update_on_text_changed** **(** :ref:`bool<class_bool>` value **)**
|
|
- :ref:`bool<class_bool>` **get_update_on_text_changed** **(** **)**
|
|
|
|
Sets the value of the :ref:`Range<class_Range>` for this **SpinBox** when the :ref:`LineEdit<class_LineEdit>` text is *changed* instead of *submitted*. See :ref:`LineEdit.text_changed<class_LineEdit_signal_text_changed>` and :ref:`LineEdit.text_submitted<class_LineEdit_signal_text_submitted>`.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_SpinBox_method_apply:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
void **apply** **(** **)**
|
|
|
|
Applies the current value of this **SpinBox**.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_SpinBox_method_get_line_edit:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`LineEdit<class_LineEdit>` **get_line_edit** **(** **)**
|
|
|
|
Returns the :ref:`LineEdit<class_LineEdit>` instance from this **SpinBox**. You can use it to access properties and methods of :ref:`LineEdit<class_LineEdit>`.
|
|
|
|
\ **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:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Theme Property Descriptions
|
|
---------------------------
|
|
|
|
.. _class_SpinBox_theme_icon_updown:
|
|
|
|
.. rst-class:: classref-themeproperty
|
|
|
|
:ref:`Texture2D<class_Texture2D>` **updown**
|
|
|
|
Sets a custom :ref:`Texture2D<class_Texture2D>` for up and down arrows of the **SpinBox**.
|
|
|
|
.. |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.)`
|
|
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
|
|
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
|
|
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|
|
.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
|