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.

SpinBox

继承: Range < Control < CanvasItem < Node < Object

数字的输入字段。

描述

SpinBox 是一种用于输入数值的文本框,允许输入整数和浮点数。

示例:创建 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 依赖底层的 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

方法

void

apply()

LineEdit

get_line_edit()

主题属性

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

int

field_and_buttons_separation

2

int

set_min_buttons_width_from_icons

1

Texture2D

down

Texture2D

down_disabled

Texture2D

down_hover

Texture2D

down_pressed

Texture2D

up

Texture2D

up_disabled

Texture2D

up_hover

Texture2D

up_pressed

Texture2D

updown

StyleBox

down_background

StyleBox

down_background_disabled

StyleBox

down_background_hovered

StyleBox

down_background_pressed

StyleBox

field_and_buttons_separator

StyleBox

up_background

StyleBox

up_background_disabled

StyleBox

up_background_hovered

StyleBox

up_background_pressed

StyleBox

up_down_buttons_separator


属性说明

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,则该 SpinBox 会在 LineEdit 获得焦点时选中整个文本。点击上下箭头不会触发这种行为。


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 的属性和方法。

警告:这是一个必要的内部节点,移除和释放它可能会导致崩溃。如果你想隐藏它或它的任何子节点,请使用其 CanvasItem.visible 属性。


主题属性说明

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