Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

SpinBox

Eredita: Range < Control < CanvasItem < Node < Object

Un campo di input per i numeri.

Descrizione

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 to 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().

Proprietà

HorizontalAlignment

alignment

0

bool

custom_arrow_round

false

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

Metodi

void

apply()

LineEdit

get_line_edit()

Proprietà 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


Descrizioni delle proprietà

HorizontalAlignment alignment = 0 🔗

Modifica l'allineamento del LineEdit sottostante.


bool custom_arrow_round = false 🔗

  • void set_custom_arrow_round(value: bool)

  • bool is_custom_arrow_rounding()

If true, the value will be rounded to a multiple of custom_arrow_step when interacting with the arrow buttons. Otherwise, increments the value by custom_arrow_step and then rounds it according to Range.step.


float custom_arrow_step = 0.0 🔗

  • void set_custom_arrow_step(value: float)

  • float get_custom_arrow_step()

Se diverso da 0, imposta il passo quando si interagisce con i pulsanti freccia della SpinBox.

Nota: Range.value sarà comunque arrotondato a un multiplo di Range.step.


bool editable = true 🔗

  • void set_editable(value: bool)

  • bool is_editable()

Se true, lo SpinBox sarà modificabile. Altrimenti, sarà di sola lettura.


String prefix = "" 🔗

Aggiunge la stringa di prefisso specificata prima del valore numerico dello SpinBox.


bool select_all_on_focus = false 🔗

  • void set_select_all_on_focus(value: bool)

  • bool is_select_all_on_focus()

Se true, lo SpinBox selezionerà tutto il testo quando il LineEdit ottiene il focus. Cliccando sulle frecce su e giù non si attiverà questo comportamento.


String suffix = "" 🔗

Aggiunge la stringa di suffisso specificata dopo il valore numerico dello SpinBox.


bool update_on_text_changed = false 🔗

  • void set_update_on_text_changed(value: bool)

  • bool get_update_on_text_changed()

Imposta il valore del Range per questa SpinBox quando il testo del LineEdit viene modificato anziché inviato. Vedi LineEdit.text_changed e LineEdit.text_submitted.

Nota: Se impostato su true, questo interferirà con l'inserimento di espressioni matematiche nella SpinBox. La SpinBox tenterà di valutare l'espressione durante la digitazione, il che significa che simboli come + aggiunti alla fine sono rimossi immediatamente dall'espressione in fase di valutazione.


Descrizioni dei metodi

void apply() 🔗

Applica il valore attuale di questo SpinBox. Equivale a premere Invio durante la modifica del LineEdit utilizzato dallo SpinBox. Ciò causerà l'emissione di LineEdit.text_submitted e la valutazione dell'espressione attualmente contenuta.


LineEdit get_line_edit() 🔗

Restituisce l'istanza LineEdit da questo SpinBox. Puoi utilizzarlo per accedere alle proprietà e ai metodi di LineEdit.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un crash. Se desideri nascondere questo nodo o uno dei suoi figli, usa la loro proprietà CanvasItem.visible.


Descrizioni delle proprietà del tema

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

Colore di modulazione del pulsante giù, quando il pulsante è disabilitato.


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

Colore di modulazione del pulsante giù, quando il pulsante è passato dal cursore del mouse.


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

Colore di modulazione del pulsante giù.


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

Colore di modulazione del pulsante giù, quando il pulsante è premuto.


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

Colore di modulazione del pulsante su, quando il pulsante è disabilitato.


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

Colore di modulazione del pulsante su, quando il pulsante è passato dal cursore del mouse.


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

Colore di modulazione del pulsante su.


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

Colore di modulazione del pulsante su, quando il pulsante è premuto.


int buttons_vertical_separation = 0 🔗

La separazione verticale tra i pulsanti su e giù.


int buttons_width = 16 🔗

Larghezza dei pulsanti su e giù. Se più piccola di qualsiasi icona impostata sui pulsanti, la rispettiva icona potrebbe sovrapporsi agli elementi adiacenti. Se più piccola di 0, la larghezza è automaticamente regolata in base alle dimensioni dell'icona.


int field_and_buttons_separation = 2 🔗

La larghezza della separazione orizzontale tra il campo di input del testo (LineEdit) e i pulsanti.


int set_min_buttons_width_from_icons = 1 🔗

Se non è 0, la larghezza minima del pulsante corrisponde alla più larga tra tutte le icone impostate su quei pulsanti, anche se buttons_width è più piccola.


Texture2D down 🔗

Icona del pulsante giù, visualizzata al centro del pulsante giù (il quale diminuisce il valore).


Texture2D down_disabled 🔗

Icona del pulsante giù quando il pulsante è disabilitato.


Texture2D down_hover 🔗

Icona del pulsante giù quando il pulsante è passato dal cursore del mouse.


Texture2D down_pressed 🔗

Icona del pulsante giù quando il pulsante è premuto.


Texture2D up 🔗

Icona del pulsante giù, visualizzata al centro del pulsante su (il quale aumenta il valore).


Texture2D up_disabled 🔗

Icona del pulsante su quando il pulsante è disabilitato.


Texture2D up_hover 🔗

Icona del pulsante su quando il pulsante è passato dal cursore del mouse.


Texture2D up_pressed 🔗

Icona del pulsante su quando il pulsante è premuto.


Texture2D updown 🔗

Texture singola che rappresenta le icone dei pulsanti su e giù. Viene visualizzata al centro dei pulsanti e non cambia durante l'interazione. Se è assegnata un'icona valida, sostituirà up e down.


StyleBox down_background 🔗

Lo stile di sfondo per il pulsante giù.


StyleBox down_background_disabled 🔗

Lo stile di sfondo per il pulsante giù quando è disabilitato.


StyleBox down_background_hovered 🔗

Lo stile di sfondo per il pulsante giù quando è passato dal cursore del mouse.


StyleBox down_background_pressed 🔗

Lo stile di sfondo per il pulsante giù quando è premuto.


StyleBox field_and_buttons_separator 🔗

StyleBox disegnato nello spazio occupato dalla separazione tra il campo di input e i pulsanti.


StyleBox up_background 🔗

Lo stile di sfondo per il pulsante su.


StyleBox up_background_disabled 🔗

Lo stile di sfondo per il pulsante su quando è disabilitato.


StyleBox up_background_hovered 🔗

Lo stile di sfondo per il pulsante su quando è passato dal cursore del mouse.


StyleBox up_background_pressed 🔗

Lo stile di sfondo per il pulsante su quando è premuto.


StyleBox up_down_buttons_separator 🔗

StyleBox disegnato nello spazio occupato dalla separazione tra i pulsanti su e giù.