Range
继承: Control < CanvasItem < Node < Object
派生: EditorSpinSlider, ProgressBar, ScrollBar, Slider, SpinBox, TextureProgressBar
代表特定范围内数字的控件的抽象基类。
描述
Range 是代表特定范围内数字的控件的抽象基类,能够对步长 step 和分页大小 page 进行配置。使用 Range 的高阶节点示例请参考 ScrollBar 和 Slider。
属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
BitField[SizeFlags] |
size_flags_vertical |
|
|
||
|
方法
void |
_value_changed(new_value: float) virtual |
void |
set_value_no_signal(value: float) |
void |
|
void |
unshare() |
信号
changed() 🔗
在 min_value、max_value、page、step 改变时释放信号。
value 更改时发出。在 Slider 上使用时,会在拖动时连续调用(可能是每一帧)。如果在连接到 value_changed 的函数中执行昂贵的操作,请考虑使用去除抖动 Timer 来减少调用该函数的频率。
注意:与 LineEdit.text_changed 等信号不同,当直接通过代码设置 value 时,value_changed 仍会发出。
属性说明
如果为 true,value 可能大于 max_value。
如果为 true,value 可能小于 min_value。
如果为 true,并且 min_value 大于等于 0,则 value 将以指数方式而不是线性方式表示。
最大值。如果 value 大于 max_value,则会被范围限制。
最小值。如果 value 小于 min_value,则会被范围限制。
页面大小。主要用于 ScrollBar。ScrollBar 滑块的长度是 ScrollBar 的尺寸乘以 page 再除以 min_value 和 max_value 的差。
该值在 0 和 1 之间进行映射。
如果为 true,value 将始终四舍五入到最接近的整数。
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.
Range 的当前值。更改这个属性(即便是通过代码修改的)会触发 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 信号。
将两个 Range 绑定,之前已与两者之中的任何一个组合的 Range 也会被绑定在一起。其中任何一个 Range 的成员变量改变时,它将与它的组中的所有其他 Range 共享新值。
使该 Range 停止与任何其他 Range 共享其成员变量。