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

Викликається, коли змінюється значення елемента. При використанні на 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 🔗

Якщо більше 0, значення члена завжди буде округлено до кратного значення цієї властивості вище мінімальне значення члена. Наприклад, якщо min_value дорівнює 0.1, а крок становить 0.2, то value обмежується значеннями 0.1, 0.3, 0.5 тощо. Якщо rounded також дорівнює true, value спочатку буде округлено до кратного значення цієї властивості, а потім округлено до найближчого цілого числа.


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, щоб поділитися змінами членів з будь-яким іншим.