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

Hérite de : Range < Control < CanvasItem < Node < Object

Un champ de saisie pour des nombres.

Description

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

Propriétés

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

Méthodes

void

apply()

LineEdit

get_line_edit()

Propriétés du thème

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


Descriptions des propriétés

HorizontalAlignment alignment = 0 🔗

Change l'alignement du LineEdit sous-jacent.


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

Si différent de 0, définit le pas lors de l'interaction avec les boutons flèche de la SpinBox.

Note : Range.value sera toujours arrondi à un multiple de Range.step.


bool editable = true 🔗

  • void set_editable(value: bool)

  • bool is_editable()

Si true, la SpinBox sera modifiable. Sinon, elle sera en lecture seule.


String prefix = "" 🔗

Ajoute la chaîne de caractères de préfixe spécifiée avant la valeur numérique de la SpinBox.


bool select_all_on_focus = false 🔗

  • void set_select_all_on_focus(value: bool)

  • bool is_select_all_on_focus()

Si true, la SpinBox sélectionnera tout le texte lorsque le LineEdit obtient le focus. Cliquer sur les flèches haut et bas ne déclenchera pas ce comportement.


String suffix = "" 🔗

Ajoute la chaîne de caractères de suffixe spécifiée avant la valeur numérique de la SpinBox.


bool update_on_text_changed = false 🔗

  • void set_update_on_text_changed(value: bool)

  • bool get_update_on_text_changed()

Définit la valeur du Range pour cette SpinBox lorsque le texte du LineEdit est modifié au lieu d'être soumis. Voir LineEdit.text_changed et LineEdit.text_submitted.

Note : Si défini à true, cela interfère avec l'entrée d'expressions mathématiques dans la SpinBox. La SpinBox tentera d'évaluer l'expression au fur et à mesure que vous la tapiez, ce qui signifie que les symboles comme un + de fin sont enlevés immédiatement par l’évaluation de l’expression.


Descriptions des méthodes

void apply() 🔗

Applique la valeur actuelle de cette SpinBox. Ceci équivaut à appuyer sur Entrée lors de l'édition du LineEdit utilisé par la SpinBox. Cela provoquer l'émission de LineEdit.text_submitted et l'évaluation de son expression actuellement contenue.


LineEdit get_line_edit() 🔗

Renvoie l'instance LineEdit utilisé pour ce SpinBox. Vous pouvez l'utiliser pour accéder au propriétés et méthodes de ce LineEdit.

Avertissement : Cette instance est nécessaire en interne, la retirer ou la libérer peut provoquer un crash. Si vous voulez la masquer elle ou ses enfants, préférez leur propriété CanvasItem.visible.


Descriptions des propriétés du thème

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

Couleur de modulation de l'icône du bouton bas, lorsque le bouton est désactivé.


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

Couleur de modulation de l'icône du bouton bas, lorsque le bouton est survolé.


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

Couleur de modulation de l'icône du bouton bas.


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

Couleur de modulation de l'icône du bouton bas, lorsque le bouton est appuyé.


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

Couleur de modulation de l'icône du bouton haut, lorsque le bouton est désactivé.


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

Couleur de modulation de l'icône du bouton haut, lorsque le bouton est survolé.


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

Couleur de modulation de l'icône du bouton haut.


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

Couleur de modulation de l'icône du bouton haut, lorsque le bouton est appuyé.


int buttons_vertical_separation = 0 🔗

Séparation verticale entre les boutons haut et bas.


int buttons_width = 16 🔗

Largeur des boutons haut et bas. Si plus petite que n'importe quelle icône définie sur les boutons, l'icône respective peut recouvrir les éléments voisins. Si plus petite que 0, la largeur est automatiquement ajustée depuis la taille de l'icône.


int field_and_buttons_separation = 2 🔗

Largeur de la séparation horizontale entre le champ de saisie de texte (LineEdit) et les boutons.


int set_min_buttons_width_from_icons = 1 🔗

Si différent de 0, la largeur minimale du bouton correspond à la plus grande largeur des icônes définies sur ces boutons, même si buttons_width est plus petite.


Texture2D down 🔗

Icône du bouton bas, affichée au milieu du bouton bas (diminution de la valeur).


Texture2D down_disabled 🔗

Icône du bouton bas lorsque le bouton est désactivé.


Texture2D down_hover 🔗

Icône du bouton bas lorsque le bouton est survolé.


Texture2D down_pressed 🔗

Icône du bouton bas lorsque le bouton est appuyé.


Texture2D up 🔗

Icône du bouton haut, affichée au milieu du bouton haut (augmentation de la valeur).


Texture2D up_disabled 🔗

Icône du bouton haut lorsque le bouton est désactivé.


Texture2D up_hover 🔗

Icône du bouton haut lorsque le bouton est survolé.


Texture2D up_pressed 🔗

Icône du bouton haut lorsque le bouton est appuyé.


Texture2D updown 🔗

Texture unique représentant à la fois les icônes des boutons haut et bas. Elle est affichée au milieu des boutons et ne change pas lors d'une interaction. Si une icône valide est assignée, elle remplacera up et down.


StyleBox down_background 🔗

Style de l'arrière-plan du bouton bas.


StyleBox down_background_disabled 🔗

Style de l'arrière-plan du bouton bas lorsque désactivé.


StyleBox down_background_hovered 🔗

Style de l'arrière-plan du bouton bas lorsque survolé.


StyleBox down_background_pressed 🔗

Style de l'arrière-plan du bouton bas lorsqu'appuyé.


StyleBox field_and_buttons_separator 🔗

StyleBox dessinée dans l'espace occupé par la séparation entre le champ de saisie et les boutons.


StyleBox up_background 🔗

Style d'arrière-plan du bouton haut.


StyleBox up_background_disabled 🔗

Style de l'arrière-plan du bouton haut lorsque désactivé.


StyleBox up_background_hovered 🔗

Style de l'arrière-plan du bouton haut lorsque survolé.


StyleBox up_background_pressed 🔗

Style de l'arrière-plan du bouton haut lorsqu'appuyé.


StyleBox up_down_buttons_separator 🔗

StyleBox dessinée dans l'espace occupé par la séparation entre les boutons haut et bas.