SpinBox ​
Inherits: Range < Control < CanvasItem < Node < Object
An input field for numbers.
Description
SpinBox is a numerical input text field. It allows entering integers and floating-point numbers.
Example:
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
The above code will create a SpinBox, disable context menu on it and set the text alignment to 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.
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.
Properties
0 | ||
0.0 | ||
true | ||
"" | ||
false | ||
BitField[SizeFlags] | size_flags_vertical | 1 (overrides Control) |
step | 1.0 (overrides Range) | |
"" | ||
false |
Methods
void | apply() |
Theme Properties
Property Descriptions
HorizontalAlignment alignment = 0 🔗
void set_horizontal_alignment(value: HorizontalAlignment)
HorizontalAlignment get_horizontal_alignment()
Changes the alignment of the underlying LineEdit.
float custom_arrow_step = 0.0 🔗
If not 0
, Range.value will always be rounded to a multiple of custom_arrow_step when interacting with the arrow buttons of the SpinBox.
If true
, the SpinBox will be editable. Otherwise, it will be read only.
Adds the specified prefix string before the numerical value of the SpinBox.
bool select_all_on_focus = false 🔗
If true
, the SpinBox will select the whole text when the LineEdit gains focus. Clicking the up and down arrows won't trigger this behavior.
Adds the specified suffix string after the numerical value of the SpinBox.
bool update_on_text_changed = false 🔗
Sets the value of the Range for this SpinBox when the LineEdit text is changed instead of submitted. See LineEdit.text_changed and LineEdit.text_submitted.
Method Descriptions
void apply() 🔗
Applies the current value of this SpinBox.
Returns the LineEdit instance from this SpinBox. You can use it to access properties and methods of LineEdit.
Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their CanvasItem.visible property.
Theme Property Descriptions
Sets a custom Texture2D for up and down arrows of the SpinBox.