SpinBox

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

Un champ de saisie pour des nombres.

Description

SpinBox est un champ de texte d'entrée numérique. Il permet d'entrer des entiers et des flottants. SpinBox dispose également de boutons haut et bas qui peuvent être cliqués pour augmenter ou diminuer la valeur. La valeur peut également être changée en faisant glisser la souris vers le haut ou vers le bas sur les flèches de la SpinBox.

De plus, des expressions mathématiques peuvent être entrées. Elles sont évaluées lorsque l'utilisateur appuie sur Entrée tout en éditant le champ de texte de la SpinBox. Ceci utilise la classe Expression pour analyser et évaluer l'expression. Le résultat de l'expression est alors défini comme la valeur de la SpinBox. Certains exemples d'expressions valides sont 5 + 2 * 3, pow(2, 4), et PI + sin(0.5). Les expressions sont sensibles à la casse.

Exemple : Créer une SpinBox, désactiver son menu contextuel et aligner son texte sur la droite.

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

Voir la classe Range pour plus d'options sur SpinBox.

Note : Avec le menu contextuel de la SpinBox désactivé, vous pouvez clic-droit sur la moitié inférieure de la spinbox pour définir la valeur à son minimum, tandis que le clic droit sur la moitié supérieure définit la valeur à son maximum.

Note : SpinBox s'appuie sur un noeud LineEdit sous-jacent. Pour donner un thème à l'arrière-plan d'une SpinBox, ajoutez des éléments de thème pour LineEdit et personnalisez-les. Le LineEdit a la variation de thème SpinBoxInnerLineEdit, de sorte que vous pouvez lui donner une apparence distincte des LineEdit réguliers.

Note : Si vous voulez implémenter un glisser-déposer pour le LineEdit sous-jacent, vous pouvez utiliser Control.set_drag_forwarding() sur le nœud renvoyé par get_line_edit().

Propriétés

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é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.


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.