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.
Checking the stable version of the documentation...
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
var spinBox = new SpinBox();
AddChild(spinBox);
var lineEdit = spinBox.GetLineEdit();
lineEdit.ContextMenuEnabled = false;
spinBox.AlignHorizontal = LineEdit.HorizontalAlignEnum.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à
|
||
|
||
|
||
|
||
|
||
|
||
BitField[SizeFlags] |
size_flags_vertical |
|
step |
|
|
|
||
|
Metodi
void |
apply() |
Proprietà del tema
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Descrizioni delle proprietà
HorizontalAlignment alignment = 0 🔗
void set_horizontal_alignment(value: HorizontalAlignment)
HorizontalAlignment get_horizontal_alignment()
Modifica l'allineamento del LineEdit sottostante.
bool custom_arrow_round = false 🔗
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 🔗
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.
Se true, lo SpinBox sarà modificabile. Altrimenti, sarà di sola lettura.
Aggiunge la stringa di prefisso specificata prima del valore numerico dello SpinBox.
bool select_all_on_focus = false 🔗
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.
Aggiunge la stringa di suffisso specificata dopo il valore numerico dello SpinBox.
bool update_on_text_changed = false 🔗
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.
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ù.
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.
Icona del pulsante giù, visualizzata al centro del pulsante giù (il quale diminuisce il valore).
Icona del pulsante giù quando il pulsante è disabilitato.
Icona del pulsante giù quando il pulsante è passato dal cursore del mouse.
Icona del pulsante giù quando il pulsante è premuto.
Icona del pulsante giù, visualizzata al centro del pulsante su (il quale aumenta il valore).
Icona del pulsante su quando il pulsante è disabilitato.
Icona del pulsante su quando il pulsante è passato dal cursore del mouse.
Icona del pulsante su quando il pulsante è premuto.
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.
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.
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ù.