SpinBox

Hereda: Range < Control < CanvasItem < Node < Object

Un campo de entrada para números.

Descripción

SpinBox is a numerical input text field. It allows entering integers and floating-point numbers. The SpinBox also has up and down buttons that can be clicked increase or decrease the value. The value can also be changed by dragging the mouse up or down over the SpinBox's arrows.

Additionally, mathematical expressions can be entered. These are evaluated when the user presses Enter while editing the SpinBox's text field. This uses the Expression class to parse and evaluate the expression. The result of the expression is then set as the value of the SpinBox. Some examples of valid expressions are 5 + 2 * 3, pow(2, 4), and PI + sin(0.5). Expressions are case-sensitive.

Example: Create a SpinBox, disable its context menu and set its text alignment to right.

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

See 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 LineEdit node. To theme a SpinBox's background, add theme items for LineEdit and customize them. The LineEdit has the SpinBoxInnerLineEdit theme variation, so that you can give it a distinct appearance from regular LineEdits.

Note: If you want to implement drag and drop for the underlying LineEdit, you can use Control.set_drag_forwarding() on the node returned by get_line_edit().

Propiedades

HorizontalAlignment

alignment

0

float

custom_arrow_step

0.0

bool

editable

true

String

prefix

""

bool

select_all_on_focus

false

BitField[SizeFlags]

size_flags_vertical

1 (overrides Control)

float

step

1.0 (overrides Range)

String

suffix

""

bool

update_on_text_changed

false

Métodos

void

apply()

LineEdit

get_line_edit()

Propiedades del Tema

Color

down_disabled_icon_modulate

Color(0.875, 0.875, 0.875, 0.5)

Color

down_hover_icon_modulate

Color(0.95, 0.95, 0.95, 1)

Color

down_icon_modulate

Color(0.875, 0.875, 0.875, 1)

Color

down_pressed_icon_modulate

Color(0.95, 0.95, 0.95, 1)

Color

up_disabled_icon_modulate

Color(0.875, 0.875, 0.875, 0.5)

Color

up_hover_icon_modulate

Color(0.95, 0.95, 0.95, 1)

Color

up_icon_modulate

Color(0.875, 0.875, 0.875, 1)

Color

up_pressed_icon_modulate

Color(0.95, 0.95, 0.95, 1)

int

buttons_vertical_separation

0

int

buttons_width

16

int

field_and_buttons_separation

2

int

set_min_buttons_width_from_icons

1

Texture2D

down

Texture2D

down_disabled

Texture2D

down_hover

Texture2D

down_pressed

Texture2D

up

Texture2D

up_disabled

Texture2D

up_hover

Texture2D

up_pressed

Texture2D

updown

StyleBox

down_background

StyleBox

down_background_disabled

StyleBox

down_background_hovered

StyleBox

down_background_pressed

StyleBox

field_and_buttons_separator

StyleBox

up_background

StyleBox

up_background_disabled

StyleBox

up_background_hovered

StyleBox

up_background_pressed

StyleBox

up_down_buttons_separator


Descripciones de Propiedades

HorizontalAlignment alignment = 0 🔗

Cambia la alineación del LineEdit subyacente.


float custom_arrow_step = 0.0 🔗

  • void set_custom_arrow_step(value: float)

  • float get_custom_arrow_step()

Si no es 0, establece el paso al interactuar con los botones de flecha del SpinBox.

Nota: Range.value seguirá redondeándose a un múltiplo de Range.step.


bool editable = true 🔗

  • void set_editable(value: bool)

  • bool is_editable()

Si es true, el SpinBox será editable. De lo contrario, sólo será de lectura.


String prefix = "" 🔗

Añade la string especificada como prefijo antes del valor numérico del SpinBox.


bool select_all_on_focus = false 🔗

  • void set_select_all_on_focus(value: bool)

  • bool is_select_all_on_focus()

Si es true, el SpinBox seleccionará todo el texto cuando el LineEdit gane el foco. Hacer clic en las flechas de arriba y abajo no desencadenará este comportamiento.


String suffix = "" 🔗

Añade la string especificada como sufijo después del valor numérico del SpinBox.


bool update_on_text_changed = false 🔗

  • void set_update_on_text_changed(value: bool)

  • bool get_update_on_text_changed()

Establece el valor del Range para este SpinBox cuando el texto del LineEdit es cambiado en lugar de enviado. Véase LineEdit.text_changed y LineEdit.text_submitted.

Nota: Si se establece en true, esto interferirá con la introducción de expresiones matemáticas en el SpinBox. El SpinBox intentará evaluar la expresión mientras escribes, lo que significa que los símbolos como un + final se eliminan inmediatamente al evaluar la expresión.


Descripciones de Métodos

void apply() 🔗

Aplica el valor actual de este SpinBox. Esto es equivalente a pulsar Enter mientras se edita el LineEdit utilizado por el SpinBox. Esto hará que se emita LineEdit.text_submitted y que se evalúe su expresión contenida actualmente.


LineEdit get_line_edit() 🔗

Devuelve la instancia LineEdit de este SpinBox. Puedes usarla para acceder a las propiedades y métodos de LineEdit.

Advertencia: Este es un nodo interno requerido, removerlo y liberarlo puede causar un fallo. Si deseas ocultarlo o alguno de sus hijos, usa su propiedad CanvasItem.visible.


Descripciones de las propiedades del tema

Color down_disabled_icon_modulate = Color(0.875, 0.875, 0.875, 0.5) 🔗

Color de modulación del icono del botón de abajo, cuando el botón está desactivado.


Color down_hover_icon_modulate = Color(0.95, 0.95, 0.95, 1) 🔗

Color de modulación del icono del botón de abajo, cuando el botón está en foco.


Color down_icon_modulate = Color(0.875, 0.875, 0.875, 1) 🔗

Color de modulación del icono del botón de abajo.


Color down_pressed_icon_modulate = Color(0.95, 0.95, 0.95, 1) 🔗

Color de modulación del icono del botón de abajo, cuando el botón está siendo presionado.


Color up_disabled_icon_modulate = Color(0.875, 0.875, 0.875, 0.5) 🔗

Color de modulación del icono del botón de arriba, cuando el botón está desactivado.


Color up_hover_icon_modulate = Color(0.95, 0.95, 0.95, 1) 🔗

Color de modulación del icono del botón de arriba, cuando el botón está en foco.


Color up_icon_modulate = Color(0.875, 0.875, 0.875, 1) 🔗

Color de modulación del icono del botón de arriba.


Color up_pressed_icon_modulate = Color(0.95, 0.95, 0.95, 1) 🔗

Color de modulación del icono del botón de arriba, cuando el botón está siendo presionado.


int buttons_vertical_separation = 0 🔗

Separación vertical entre los botones de arriba y abajo.


int buttons_width = 16 🔗

Ancho de los botones de arriba y abajo. Si es más pequeño que cualquier icono establecido en los botones, el icono respectivo puede superponerse a los elementos vecinos. Si es menor que 0, el ancho se ajusta automáticamente a partir del tamaño del icono.


int field_and_buttons_separation = 2 🔗

Ancho de la separación horizontal entre el campo de entrada de texto (LineEdit) y los botones.


int set_min_buttons_width_from_icons = 1 🔗

Si no es 0, el ancho mínimo del botón corresponde al más ancho de todos los iconos establecidos en esos botones, incluso si buttons_width es más pequeño.


Texture2D down 🔗

Icono del botón de abajo, que se muestra en el centro del botón de abajo (que disminuye el valor).


Texture2D down_disabled 🔗

Icono del botón de abajo cuando el botón está desactivado.


Texture2D down_hover 🔗

Icono del botón de abajo cuando el botón está en foco.


Texture2D down_pressed 🔗

Icono del botón de bajar cuando se presiona el botón.


Texture2D up 🔗

Icono del botón de arriba, que se muestra en el centro del botón de arriba (que aumenta el valor).


Texture2D up_disabled 🔗

Icono del botón de arriba cuando el botón está desactivado.


Texture2D up_hover 🔗

Icono del botón de arriba cuando el botón está en foco.


Texture2D up_pressed 🔗

Icono del botón de arriba cuando se está pulsando el botón.


Texture2D updown 🔗

Una sola textura que representa los iconos de los botones de arriba y abajo. Se muestra en el centro de los botones y no cambia al interactuar con ellos. Si se asigna un icono válido, reemplazará a up y down.


StyleBox down_background 🔗

Estilo de fondo del botón de abajo.


StyleBox down_background_disabled 🔗

Estilo de fondo del botón de abajo cuando está desactivado.


StyleBox down_background_hovered 🔗

Estilo de fondo del botón de abajo cuando está en foco.


StyleBox down_background_pressed 🔗

Estilo de fondo del botón de abajo cuando está siendo presionado.


StyleBox field_and_buttons_separator 🔗

StyleBox dibujado en el espacio ocupado por la separación entre el campo de entrada y los botones.


StyleBox up_background 🔗

Estilo de fondo del botón de arriba.


StyleBox up_background_disabled 🔗

Estilo de fondo del botón de arriba cuando está desactivado.


StyleBox up_background_hovered 🔗

Estilo de fondo del botón de arriba cuando está en foco.


StyleBox up_background_pressed 🔗

Estilo de fondo del botón de arriba cuando está siendo pulsado.


StyleBox up_down_buttons_separator 🔗

StyleBox dibujado en el espacio ocupado por la separación entre los botones de arriba y abajo.