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.

Range

Inherits: Control < CanvasItem < Node < Object

Inherited By: EditorSpinSlider, ProgressBar, ScrollBar, Slider, SpinBox, TextureProgressBar

Abstract base class for controls that represent a number within a range.

Description

Range is an abstract base class for controls that represent a number within a range, using a configured step and page size. See e.g. ScrollBar and Slider for examples of higher-level nodes using Range.

Properties

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

Methods

void

_value_changed ( float new_value ) virtual

void

set_value_no_signal ( float value )

void

share ( Node with )

void

unshare ( )


Signals

changed ( )

Emitted when min_value, max_value, page, or step change.


value_changed ( float value )

Emitted when value changes. When used on a Slider, this is called continuously while dragging (potentially every frame). If you are performing an expensive operation in a function connected to value_changed, consider using a debouncing Timer to call the function less often.

Note: Unlike signals such as LineEdit.text_changed, value_changed is also emitted when value is set directly via code.


Property Descriptions

bool allow_greater = false

  • void set_allow_greater ( bool value )

  • bool is_greater_allowed ( )

If true, value may be greater than max_value.


bool allow_lesser = false

  • void set_allow_lesser ( bool value )

  • bool is_lesser_allowed ( )

If true, value may be less than min_value.


bool exp_edit = false

  • void set_exp_ratio ( bool value )

  • bool is_ratio_exp ( )

If true, and min_value is greater than 0, value will be represented exponentially rather than linearly.


float max_value = 100.0

Maximum value. Range is clamped if value is greater than max_value.