Range

Наследует: Control < CanvasItem < Node < Object

Наследуется от: EditorSpinSlider, ProgressBar, ScrollBar, Slider, SpinBox, TextureProgressBar

Абстрактный базовый класс для элементов управления, представляющих число в диапазоне.

Описание

Range — абстрактный базовый класс для элементов управления, представляющих число в диапазоне, с использованием настроенного размера step и page. См. например, ScrollBar и Slider для примеров узлов более высокого уровня, использующих Range.

Свойства

bool

allow_greater

false

bool

allow_lesser

false

bool

exp_edit

false

float

max_value

100.0

float

min_value

0.0

float

page

0.0

float

ratio

bool

rounded

false

BitField[SizeFlags]

size_flags_vertical

0 (overrides Control)

float

step

0.01

float

value

0.0

Методы

void

_value_changed(new_value: float) virtual

void

set_value_no_signal(value: float)

void

share(with: Node)

void

unshare()


Сигналы

changed() 🔗

Выдается при изменении min_value, max_value, page или step.


value_changed(value: float) 🔗

Вызывается при изменении value. При использовании на Slider вызывается непрерывно во время перетаскивания (потенциально каждый кадр). Если вы выполняете затратную операцию в функции, подключенной к value_changed, рассмотрите возможность использования debouncing Timer, чтобы вызывать функцию реже.

Примечание: В отличие от сигналов, таких как LineEdit.text_changed, value_changed также вызывается, когда value устанавливается напрямую через код.


Описания свойств

bool allow_greater = false 🔗

  • void set_allow_greater(value: bool)

  • bool is_greater_allowed()

Если true, value может быть больше, чем max_value.


bool allow_lesser = false 🔗

  • void set_allow_lesser(value: bool)

  • bool is_lesser_allowed()

Если true, value может быть меньше, чем min_value.


bool exp_edit = false 🔗

  • void set_exp_ratio(value: bool)

  • bool is_ratio_exp()

Если true, а min_value больше или равно 0, value будет представлено экспоненциально, а не линейно.


float max_value = 100.0 🔗

Максимальное значение. Диапазон ограничивается, если value больше, чем max_value.


float min_value = 0.0 🔗

Минимальное значение. Диапазон ограничивается, если value меньше min_value.


float page = 0.0 🔗

Размер страницы. Используется в основном для ScrollBar. Длина захвата ScrollBar — это размер ScrollBar, умноженный на page и на разницу между min_value и max_value.


float ratio 🔗

  • void set_as_ratio(value: float)

  • float get_as_ratio()

Значение отображается в диапазоне от 0 до 1.


bool rounded = false 🔗

  • void set_use_rounded_values(value: bool)

  • bool is_using_rounded_values()

Если true, value всегда будет округляться до ближайшего целого числа.


float step = 0.01 🔗

If greater than 0.0, value will always be rounded to a multiple of this property's value above min_value. For example, if min_value is 0.1 and step is 0.2, then value is limited to 0.1, 0.3, 0.5, and so on. If rounded is also true, value will first be rounded to a multiple of this property's value, then rounded to the nearest integer.


float value = 0.0 🔗

Текущее значение диапазона. Изменение этого свойства (даже через код) вызовет сигнал value_changed. Используйте set_value_no_signal(), если хотите этого избежать.


Описания метода

void _value_changed(new_value: float) virtual 🔗

Вызывается при изменении значения Range (при соблюдении тех же условий, что и value_changed).


void set_value_no_signal(value: float) 🔗

Устанавливает текущее значение Range на указанное value без передачи сигнала value_changed.


void share(with: Node) 🔗

Связывает два Range вместе с любыми диапазонами, ранее сгруппированными с любым из них. Когда любая из переменных-членов диапазона изменяется, она поделится новым значением со всеми другими диапазонами в своей группе.


void unshare() 🔗

Запрещает Range совместно использовать свои переменные-члены с другими.