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()

If true, the value will be rounded to a multiple of custom_arrow_step when interacting with the arrow buttons. Otherwise, increments the value by custom_arrow_step and then rounds it according to 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 = "" 🔗

Добавляет указанную строку суффикса после числового значения 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.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 🔗

Вертикальное разделение между кнопками «вверх» и «вниз».


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 рисуется в пространстве, занимаемом разделением между кнопками «вверх» и «вниз».