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.
Checking the stable version of the documentation...
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
var spinBox = new SpinBox();
AddChild(spinBox);
var lineEdit = spinBox.GetLineEdit();
lineEdit.ContextMenuEnabled = false;
spinBox.AlignHorizontal = LineEdit.HorizontalAlignEnum.Right;
Дивіться клас Range для додаткових опцій щодо SpinBox.
Примітка: Якщо контекстне меню SpinBox вимкнено, ви можете клацнути правою кнопкою миші на нижній половині спінбокса, щоб встановити мінімальне значення, а клацнувши правою кнопкою миші на верхній половині — максимальне.
Примітка: SpinBox базується на базовому вузлі LineEdit. Щоб змінити тему фону SpinBox, додайте елементи теми для LineEdit та налаштуйте їх. LineEdit має варіант теми SpinBoxInnerLineEdit, завдяки чому ви можете надати йому вигляд, відмінний від звичайних LineEdit.
Примітка: Якщо ви хочете реалізувати перетягування для базового LineEdit, ви можете використовувати Control.set_drag_forwarding() на вузлі, поверненому get_line_edit().
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
BitField[SizeFlags] |
size_flags_vertical |
|
step |
|
|
|
||
|
Методи
void |
apply() |
Властивості теми
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Описи властивостей
HorizontalAlignment alignment = 0 🔗
void set_horizontal_alignment(value: HorizontalAlignment)
HorizontalAlignment get_horizontal_alignment()
Зміна вирівнювання основи LineEdit.
bool custom_arrow_round = false 🔗
Якщо true, значення буде округлено до числа, кратного custom_arrow_step під час взаємодії з кнопками зі стрілками. В іншому випадку значення збільшується на custom_arrow_step, а потім округлюється відповідно до Range.step.
float custom_arrow_step = 0.0 🔗
Якщо не 0, встановлює крок під час взаємодії з кнопками зі стрілками SpinBox.
Примітка: Range.value все одно буде округлено до кратного Range.step.
Якщо true, то SpinBox буде редаговано. В іншому випадку це буде читати тільки.
Додає вказаний рядок префікса перед числом значення SpinBox.
bool select_all_on_focus = false 🔗
Якщо true, SpinBox вибере весь текст, коли LineEdit отримує фокус. Натискання стрілок вгору і вниз не запускати цю поведінку.
Додавання вказаного рядка suffix після чисельного значення SpinBox.
bool update_on_text_changed = false 🔗
Встановлює значення Range для цього SpinBox, коли текст LineEdit змінюється замість надсилається. Див. LineEdit.text_changed та LineEdit.text_submitted.
Примітка: Якщо встановлено значення true, це заважатиме введенню математичних виразів у SpinBox. SpinBox намагатиметься обчислити вираз під час введення, що означає, що такі символи, як завершальний +, негайно видаляються обчислюваним виразом.
Описи методів
void apply() 🔗
Застосовує поточне значення цього SpinBox. Це еквівалентно натисканню Enter під час редагування LineEdit, що використовується SpinBox. Це призведе до генерації LineEdit.text_submitted та обчислення поточного виразу, що міститься в ньому.
Повернення екземпляра 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 🔗
Вертикальна роздільність між кнопками вгору та вниз.
Ширина кнопок вгору та вниз. Якщо менший за будь-який набір піктограм на кнопках, відповідний значок може перекривати сусідні елементи. Якщо менше 0, ширина автоматично регулюється відповідно до розміру значка.
int field_and_buttons_separation = 2 🔗
Ширина горизонтального розділення між полем введення тексту (LineEdit) і кнопками.
int set_min_buttons_width_from_icons = 1 🔗
Якщо не 0, мінімальна ширина кнопки відповідає найширшій із усіх піктограм, установлених на цих кнопках, навіть якщо buttons_width менше.
Піктограма кнопки вниз, відображається посередині кнопки вниз (зменшується значення).
Значок кнопки вниз, коли кнопку вимкнено.
Значок кнопки вниз, коли на кнопку наведено курсор.
Значок кнопки вниз, коли кнопка натиснута.
Піктограма кнопки вгору, відображається посередині кнопки вгору (збільшення значення).
Значок кнопки вгору, коли кнопку вимкнено.
Значок кнопки вгору, коли на кнопку наведено курсор.
Значок кнопки вгору під час натискання кнопки.
Єдина текстура, що представляє значки кнопок «вгору» та «вниз». Вона відображається посередині кнопок і не змінюється під час взаємодії. Якщо призначено коректний значок, він замінить up та down.
Стиль тла кнопки вниз.
StyleBox down_background_disabled 🔗
Стиль тла кнопки вниз, коли вимкнено.
StyleBox down_background_hovered 🔗
Стиль тла кнопки вниз під час наведення.
StyleBox down_background_pressed 🔗
Стиль тла кнопки вниз під час натискання.
StyleBox field_and_buttons_separator 🔗
StyleBox намальовано в місці, яке займає розділення між полем введення та кнопками.
Стиль тла кнопки вгору.
StyleBox up_background_disabled 🔗
Стиль тла кнопки вгору, коли вимкнено.
StyleBox up_background_hovered 🔗
Стиль тла кнопки вгору під час наведення.
StyleBox up_background_pressed 🔗
Стиль тла кнопки вгору під час натискання.
StyleBox up_down_buttons_separator 🔗
StyleBox намальовано в місці, яке займає роздільник між кнопками вгору та вниз.