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

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.


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 намальовано в місці, яке займає роздільник між кнопками вгору та вниз.