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 是一种用于输入数值的文本字段,允许输入整数和浮点数。
示例:
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,禁用其中的上下文菜单,并将文本设置为右对齐。
SpinBox 的更多选项见 Range 类。
注意:SpinBox 的上下文菜单被禁用时,右键单击微调框的下半部分可以将取值设置最小值,右键单击上半部分可以将取值设置最大值。
注意:SpinBox 依赖底层的 LineEdit 节点。要为 SpinBox 的背景设置主题,请为 LineEdit 添加主题项目并进行自定义。
注意:如果你想要为底层的 LineEdit 实现拖放,可以对 get_line_edit 所返回的节点使用 Control.set_drag_forwarding。
属性¶
|
||
|
||
|
||
|
||
|
||
BitField<SizeFlags> |
size_flags_vertical |
|
step |
|
|
|
||
|
方法¶
void |
apply ( ) |
get_line_edit ( ) |
主题属性¶
属性说明¶
HorizontalAlignment alignment = 0
void set_horizontal_alignment ( HorizontalAlignment value )
HorizontalAlignment get_horizontal_alignment ( )
更改底层 LineEdit 的对齐方式。
float custom_arrow_step = 0.0
如果不是 0
,则在与 SpinBox 的箭头按钮交互时,Range.value 将始终四舍五入为 custom_arrow_step 的倍数。
bool editable = true
如果为 true
,则 SpinBox 将是可编辑的。否则,它将是只读的。
String prefix = ""
在 SpinBox 的数值前添加指定的前缀字符串。
bool select_all_on_focus = false
如果为 true
,则该 SpinBox 会在 LineEdit 获得焦点时选中整个文本。点击上下箭头不会触发这种行为。
String suffix = ""
在 SpinBox 的数值后添加指定的后缀字符串。
bool update_on_text_changed = false
当 LineEdit 的文本发生变化而不是被提交时,设置这个 SpinBox 的 Range 的值。见 LineEdit.text_changed 和 LineEdit.text_submitted。
方法说明¶
void apply ( )
应用此 SpinBox 的当前值。
LineEdit get_line_edit ( )
返回这个 SpinBox 中的 LineEdit 实例。你可以用它来访问 LineEdit 的属性和方法。
警告:这是一个必要的内部节点,移除和释放它可能会导致崩溃。如果你想隐藏它或它的任何子节点,请使用其 CanvasItem.visible 属性。
主题属性说明¶
Texture2D updown
为该 SpinBox 的上下箭头设置自定义的 Texture2D。