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.
Checking the stable version of the documentation...
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
var spinBox = new SpinBox();
AddChild(spinBox);
var lineEdit = spinBox.GetLineEdit();
lineEdit.ContextMenuEnabled = false;
spinBox.AlignHorizontal = LineEdit.HorizontalAlignEnum.Right;
SpinBox 的更多选项见 Range 类。
注意:SpinBox 的上下文菜单被禁用时,右键单击微调框的下半部分可以将取值设置最小值,右键单击上半部分可以将取值设置最大值。
注意:SpinBox 依赖底层的 LineEdit 节点。要为 SpinBox 的背景设置主题,请为 LineEdit 添加主题项目并进行自定义。该 LineEdit 使用 SpinBoxInnerLineEdit
主题变体,因此你可以为其指定不同于普通 LineEdit 的外观。
注意:如果你想要为底层的 LineEdit 实现拖放,可以对 get_line_edit() 所返回的节点使用 Control.set_drag_forwarding()。
属性
|
||
|
||
|
||
|
||
|
||
BitField[SizeFlags] |
size_flags_vertical |
|
step |
|
|
|
||
|
方法
void |
apply() |
主题属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
属性说明
HorizontalAlignment alignment = 0
🔗
void set_horizontal_alignment(value: HorizontalAlignment)
HorizontalAlignment get_horizontal_alignment()
更改底层 LineEdit 的对齐方式。
float custom_arrow_step = 0.0
🔗
如果不是 0
,则在与 SpinBox 的箭头按钮交互时,Range.value 将始终四舍五入为 custom_arrow_step 的倍数。
如果为 true
,则 SpinBox 将是可编辑的。否则,它将是只读的。
在 SpinBox 的数值前添加指定的前缀字符串。
bool select_all_on_focus = false
🔗
如果为 true
,则该 SpinBox 会在 LineEdit 获得焦点时选中整个文本。点击上下箭头不会触发这种行为。
在 SpinBox 的数值后添加指定的后缀字符串。
bool update_on_text_changed = false
🔗
当 LineEdit 的文本发生变化而不是被提交时,设置这个 SpinBox 的 Range 的值。见 LineEdit.text_changed 和 LineEdit.text_submitted。
方法说明
void apply() 🔗
应用此 SpinBox 的当前值。
返回这个 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
🔗
上下按钮之间的垂直间隔。
上下按钮的宽度。如果小于按钮上设置的图标,那么对应的图标就可能与相邻的元素重叠。如果小于 0
,那么就会根据图标的大小自动调整宽度。
int field_and_buttons_separation = 2
🔗
文本输入框(LineEdit)与按钮之间的水平间隔宽度。
int set_min_buttons_width_from_icons = 1
🔗
如果非 0
,则最小按钮宽度对应这些按钮所设置的最宽的图标,即便 buttons_width 更小。
向下按钮的图标,在下按钮(减小取值)的中间显示。
向下按钮禁用时的图标。
向下按钮悬停时的图标。
向下按钮按下时的图标。
向上按钮的图标,在上按钮(增加取值)的中间显示。
向上按钮禁用时的图标。
向上按钮悬停时的图标。
向上按钮按下时的图标。
代表上下按钮图标的单个纹理。该纹理显示在按钮中间,交互式不会改变。建议使用单独的 up 和 down 图像,可用性更佳。也可以将其当作两个按钮之间的额外装饰。
向下按钮的背景样式。
StyleBox down_background_disabled 🔗
向下按钮禁用时的背景样式。
StyleBox down_background_hovered 🔗
向下按钮悬停时的背景样式。
StyleBox down_background_pressed 🔗
向下按钮按下时的背景样式。
StyleBox field_and_buttons_separator 🔗
输入框和按钮之间的间隔区域内绘制的 StyleBox。
向上按钮的背景样式。
StyleBox up_background_disabled 🔗
向上按钮禁用时的背景样式。
StyleBox up_background_hovered 🔗
向上按钮悬停时的背景样式。
StyleBox up_background_pressed 🔗
向上按钮按下时的背景样式。
StyleBox up_down_buttons_separator 🔗
上下按钮之间的间隔区域内绘制的 StyleBox。