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

Успадковує: Range < Control < CanvasItem < Node < Object

Поле введення для чисел.

Опис

SpinBox — це текстове поле для введення чисел. Воно дозволяє вводити цілі та дійсні числа. SpinBox також має кнопки «вгору» та «вниз», натискання яких дозволяє збільшувати або зменшувати значення. Значення також можна змінити, перетягнувши курсор миші вгору або вниз по стрілках SpinBox.

Крім того, можна вводити математичні вирази. Вони обчислюються, коли користувач натискає Enter під час редагування текстового поля SpinBox. Для розбору та обчислення виразу використовується клас Expression. Результат виразу потім встановлюється як значення SpinBox. Деякі приклади допустимих виразів: 5 + 2 * 3, pow(2, 4) та PI + sin(0.5). У виразах враховується регістр.

Приклад: Створіть SpinBox, вимкніть його контекстне меню та встановіть вирівнювання тексту по правому краю.

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

Дивіться клас Range для додаткових опцій щодо SpinBox.

Примітка: Якщо контекстне меню SpinBox вимкнено, ви можете клацнути правою кнопкою миші на нижній половині спінбокса, щоб встановити мінімальне значення, а клацнувши правою кнопкою миші на верхній половині — максимальне.

Примітка: SpinBox базується на базовому вузлі LineEdit. Щоб змінити тему фону SpinBox, додайте елементи теми для LineEdit та налаштуйте їх. LineEdit має варіант теми SpinBoxInnerLineEdit, завдяки чому ви можете надати йому вигляд, відмінний від звичайних LineEdit.

Примітка: Якщо ви хочете реалізувати перетягування для базового LineEdit, ви можете використовувати Control.set_drag_forwarding() на вузлі, поверненому get_line_edit().

Властивості

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

Методи

void

apply()

LineEdit

get_line_edit()

Властивості теми

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


Описи властивостей

HorizontalAlignment alignment = 0 🔗

Зміна вирівнювання основи LineEdit.


bool custom_arrow_round = false 🔗

  • void set_custom_arrow_round(value: bool)

  • bool is_custom_arrow_rounding()

Якщо true, значення буде округлено до числа, кратного custom_arrow_step під час взаємодії з кнопками зі стрілками. В іншому випадку значення збільшується на custom_arrow_step, а потім округлюється відповідно до Range.step.


float custom_arrow_step = 0.0 🔗

  • void set_custom_arrow_step(value: float)

  • float get_custom_arrow_step()

Якщо не 0, встановлює крок під час взаємодії з кнопками зі стрілками SpinBox.

Примітка: Range.value все одно буде округлено до кратного Range.step.


bool editable = true 🔗

  • void set_editable(value: bool)

  • bool is_editable()

Якщо true, то SpinBox буде редаговано. В іншому випадку це буде читати тільки.


String prefix = "" 🔗

Додає вказаний рядок префікса перед числом значення SpinBox.


bool select_all_on_focus = false 🔗

  • void set_select_all_on_focus(value: bool)

  • bool is_select_all_on_focus()

Якщо true, SpinBox вибере весь текст, коли LineEdit отримує фокус. Натискання стрілок вгору і вниз не запускати цю поведінку.


String suffix = "" 🔗

Додавання вказаного рядка suffix після чисельного значення SpinBox.


bool update_on_text_changed = false 🔗

  • void set_update_on_text_changed(value: bool)

  • bool get_update_on_text_changed()

Встановлює значення Range для цього SpinBox, коли текст LineEdit змінюється замість надсилається. Див. LineEdit.text_changed та LineEdit.text_submitted.

Примітка: Якщо встановлено значення true, це заважатиме введенню математичних виразів у SpinBox. SpinBox намагатиметься обчислити вираз під час введення, що означає, що такі символи, як завершальний +, негайно видаляються обчислюваним виразом.


Описи методів

void apply() 🔗

Застосовує поточне значення цього SpinBox. Це еквівалентно натисканню Enter під час редагування LineEdit, що використовується SpinBox. Це призведе до генерації LineEdit.text_submitted та обчислення поточного виразу, що міститься в ньому.


LineEdit get_line_edit() 🔗

Повернення екземпляра LineEdit з цього SpinBox. Ви можете використовувати його для доступу та методів LineEdit.

Попередження: Це необхідний внутрішній вузол, видаляючи і звільняючи його може призвести до аварії. Якщо ви хочете приховати його або будь-який з своїх дітей, скористайтеся їх CanvasItem.pic.


Описи тематичної нерухомості

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 🔗

Ширина кнопок вгору та вниз. Якщо менший за будь-який набір піктограм на кнопках, відповідний значок може перекривати сусідні елементи. Якщо менше 0, ширина автоматично регулюється відповідно до розміру значка.


int field_and_buttons_separation = 2 🔗

Ширина горизонтального розділення між полем введення тексту (LineEdit) і кнопками.


int set_min_buttons_width_from_icons = 1 🔗

Якщо не 0, мінімальна ширина кнопки відповідає найширшій із усіх піктограм, установлених на цих кнопках, навіть якщо buttons_width менше.


Texture2D down 🔗

Піктограма кнопки вниз, відображається посередині кнопки вниз (зменшується значення).


Texture2D down_disabled 🔗

Значок кнопки вниз, коли кнопку вимкнено.


Texture2D down_hover 🔗

Значок кнопки вниз, коли на кнопку наведено курсор.


Texture2D down_pressed 🔗

Значок кнопки вниз, коли кнопка натиснута.


Texture2D up 🔗

Піктограма кнопки вгору, відображається посередині кнопки вгору (збільшення значення).


Texture2D up_disabled 🔗

Значок кнопки вгору, коли кнопку вимкнено.


Texture2D up_hover 🔗

Значок кнопки вгору, коли на кнопку наведено курсор.


Texture2D up_pressed 🔗

Значок кнопки вгору під час натискання кнопки.


Texture2D updown 🔗

Єдина текстура, що представляє значки кнопок «вгору» та «вниз». Вона відображається посередині кнопок і не змінюється під час взаємодії. Якщо призначено коректний значок, він замінить up та down.


StyleBox down_background 🔗

Стиль тла кнопки вниз.


StyleBox down_background_disabled 🔗

Стиль тла кнопки вниз, коли вимкнено.


StyleBox down_background_hovered 🔗

Стиль тла кнопки вниз під час наведення.


StyleBox down_background_pressed 🔗

Стиль тла кнопки вниз під час натискання.


StyleBox field_and_buttons_separator 🔗

StyleBox намальовано в місці, яке займає розділення між полем введення та кнопками.


StyleBox up_background 🔗

Стиль тла кнопки вгору.


StyleBox up_background_disabled 🔗

Стиль тла кнопки вгору, коли вимкнено.


StyleBox up_background_hovered 🔗

Стиль тла кнопки вгору під час наведення.


StyleBox up_background_pressed 🔗

Стиль тла кнопки вгору під час натискання.


StyleBox up_down_buttons_separator 🔗

StyleBox намальовано в місці, яке займає роздільник між кнопками вгору та вниз.