SpinBox

继承: Range < Control < Item < Object

数字的输入字段。

描述

SpinBox是一个数值输入文本字段。它允许输入整数和浮点数。

Example:创建一个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

有关 SpinBox 的更多选项,请参阅 Range 类。

注意:在禁用 SpinBox 的上下文菜单的情况下,右键单击 spinbox 的下半部分可将值设置为最小值,而右键单击上半部分则将值设置为最大值。

注意:SpinBox 依赖于底层的 LineEdit 节点。要设置 SpinBox 的背景主题,请为 LineEdit 添加主题项并进行自定义。LineEdit 具有 SpinBoxInnerLineEdit 主题变体,这样您就可以使其外观与常规 LineEdit 不同。

注意:如果您想为底层的 LineEdit 实现拖放功能,可以对 get_line_edit() 返回的节点使用 Control.set_drag_forwarding()

属性

HorizontalAlignment

alignment

0

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

方法

主题属性


属性说明

HorizontalAlignment alignment = 0 🔗

更改基础LineEdit的对齐方式。


float custom_arrow_step = 0.0 🔗

  • void set_custom_arrow_step(value: float)

  • float get_custom_arrow_step()

如果不是0,则在与SpinBox的箭头按钮交互时,Range.value将始终四舍五入为custom_arrow_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,当LineEdit获得焦点时,SpinBox将选择整个文本。单击向上和向下箭头不会触发此行为。


String suffix = "" 🔗

SpinBox的数值之后添加指定的后缀字符串。


bool update_on_text_changed = false 🔗

  • void set_update_on_text_changed(value: bool)

  • bool get_update_on_text_changed()

LineEdit文本已更改*而不是提交时,设置此SpinBoxRange值。请参阅LineEdit.text_changedLineEdit.text_submitted


方法说明

void apply() 🔗

应用此SpinBox的当前值。


LineEdit get_line_edit() 🔗

从此SpinBox返回LineEdit实例。您可以使用它来访问LineEdit的属性和方法。

警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。


主题属性说明

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 🔗

单个纹理代表向上和向下按钮图标。它显示在按钮中间,交互时不会改变。建议使用单独的updown图形,以获得更好的可用性。这也可以用作两个按钮之间的额外装饰。


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在所占空间内绘制上下按钮之间的分隔。