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 is a numerical input text field. It allows entering integers and floating-point numbers. The SpinBox also has up and down buttons that can be clicked to increase or decrease the value. The value can also be changed by dragging the mouse up or down over the SpinBox's arrows.
Additionally, mathematical expressions can be entered. These are evaluated when the user presses Enter while editing the SpinBox's text field. This uses the Expression class to parse and evaluate the expression. The result of the expression is then set as the value of the SpinBox. Some examples of valid expressions are 5 + 2 * 3, pow(2, 4), and PI + sin(0.5). Expressions are case-sensitive.
Example: Create a SpinBox, disable its context menu and set its text alignment to right.
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;
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. The LineEdit has the SpinBoxInnerLineEdit theme variation, so that you can give it a distinct appearance from regular LineEdits.
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().
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
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 получает фокус. Нажатие на кнопки вверх и вниз не вызовет это поведение.
Добавляет указанную строку суффикса после числового значения 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.visible.
Описания свойств темы
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 рисуется в пространстве, занимаемом разделением между кнопками «вверх» и «вниз».