初面网初面网

UI节点讲解

容器节点(Container)

容纳其他节点的节点。

长宽比容器(AspectRatioContainer)

容器,能保持宽高比。

Box容器

有VBoxContainer, BoxContainer,HBoxContainer

  • VBoxContainer: 垂直排列子节点。
  • HBoxContainer: 水平排列子节点。
  • BoxContainer: 可以自定义方向排列子节点。

中心容器

CenterContainer: 子节点居中显示。

流动容器

FlowContainer: 子节点按照一定的规则流动排列。 HFlowContainer: 水平流动排列子节点。 VFlowContainer: 垂直流动排列子节点。

水平流动排列的子节点会在水平方向上依次排列,当到达容器的边界时,会自动换行。 垂直流动排列的子节点会在垂直方向上依次排列,当到达容器的边界时,会自动换行。

网格容器

GridContainer: 子节点按照网格布局排列。

  • 网格容器可以设置网格的行数和列数。
  • 子节点会按照网格的布局进行排列。
  • 可以通过设置网格容器的columns属性来指定网格的列数。
  • 可以通过设置网格容器的rows属性来指定网格的行数。

分割容器

SplitContainer: 子节点按照分割线进行分割。 HSplitContainer: 水平分割容器。 VSplitContainer: 垂直分割容器。

边距容器

MarginContainer: 子节点添加边距。

  • 可以通过设置MarginContainer的margin_leftmargin_rightmargin_topmargin_bottom属性来指定子节点的边距。
  • 可以通过设置MarginContainer的margin属性来同时指定所有方向的边距。

面板容器

PanelContainer: 子节点添加面板。自带背景。

  • 可以通过设置PanelContainer的panel属性来指定面板的样式。
  • 可以通过设置PanelContainer的panel_size属性来指定面板的大小。

滚动容器

ScrollContainer: 子节点添加滚动条。只能有一个子节点。

  • 可以通过设置ScrollContainer的scroll_mode属性来指定滚动模式。
  • 可以通过设置ScrollContainer的hscroll属性来指定是否显示水平滚动条。
  • 可以通过设置ScrollContainer的vscroll属性来指定是否显示垂直滚动条。

需要添加VBoxContainer或HBoxContainer作为ScrollContainer的子节点,用于容纳滚动的内容。

标签容器

TabContainer: 子节点添加标签。

  • 可以通过设置TabContainer的label属性来指定标签的文本。
  • 可以通过设置TabContainer的label_size属性来指定标签的大小。

改动树状层级里的子级名称,会导致标签容器的标签文本也改变。

元素节点

标签

  • Label: 显示文本的标签。
  • RichTextLabel: 显示富文本的标签。

颜色矩形

ColorRect: 显示颜色的矩形。

  • 可以通过设置ColorRect的color属性来指定矩形的颜色。
  • 可以通过设置ColorRect的size属性来指定矩形的大小。

纹理矩形

TextureRect: 显示纹理的矩形。

  • 可以通过设置TextureRect的texture属性来指定矩形的纹理。
  • 可以通过设置TextureRect的size属性来指定矩形的大小。

视频流播放器

VideoStreamPlayer: 播放视频流。

  • 可以通过设置VideoStreamPlayer的stream属性来指定视频流。
  • 可以通过设置VideoStreamPlayer的play属性来指定是否播放视频流。

分隔符

HSeparator: 水平分隔符。

VSeparator: 垂直分隔符。

面板

Panel: 面板。自带背景。

不建议单独使用,最好使用面板容器。

九宫格矩形

NinePatchRect: 显示九宫格纹理的矩形。

  • 可以通过设置NinePatchRect的texture属性来指定九宫格纹理。
  • 可以通过设置NinePatchRect的size属性来指定矩形的大小。

输入节点

输入节点自带信号机制,用于响应玩家的输入。

按钮

Button: 按钮。用默认主题。

TextureButton: 有纹理的按钮。

LinkButton: 链接按钮。带下划线,点击后允许跳转到网页。

复选框

CheckBox: 复选框。

CheckButton: 复选按钮。是HTML里的radio按钮,即那种开关式的

菜单按钮

MenuButton: 菜单按钮。点击后弹出菜单。

选项按钮

OptionButton: 选项按钮。点击后弹出选项菜单。

颜色选择按钮

ColorPickerButton: 颜色选择按钮。点击后弹出颜色选择器。

文本输入

LineEdit: 单行文本输入框。可普通输入和密码输入。

TextEdit: 多行文本输入框。

CodeEdit: 代码编辑框。

范围节点

Range: 用来表示范围的节点。

进度条

ProgressBar: 进度条。

TextureProgressBar: 有纹理的进度条。

旋转框

SpinBox: 旋转框。其实就是一个文本输入框,只不过只能输入数字,且可以通过点击上下箭头来调整数值。

  • 可以通过设置SpinBox的min属性来指定最小值。
  • 可以通过设置SpinBox的max属性来指定最大值。
  • 可以通过设置SpinBox的step属性来指定步长。

滚动条

HScrollBar: 水平滚动条。

VScrollBar: 垂直滚动条。

滑块

HSlider: 水平滑块。

VSlider: 垂直滑块。

  • 可以通过设置HSlider或VSlider的min属性来指定最小值。
  • 可以通过设置HSlider或VSlider的max属性来指定最大值。
  • 可以通过设置HSlider或VSlider的step属性来指定步长。

项目列表

ItemList: 项目列表。可以看做是一个下拉列表,只不过每个项目都是一个单独的项。

  • 可以通过设置ItemList的items属性来指定项目列表的项目。
  • 可以通过设置ItemList的selected属性来指定当前选中的项目。

菜单栏

MenuBar: 菜单条。可以添加多个菜单(文件、编辑之类的一整条菜单)。

  • 可以通过添加MenuButton作为MenuBar的子节点来添加菜单。
  • 可以通过设置MenuButton的menu属性来指定菜单的内容。

可以添加popupmenu作为子节点。

标签栏

TabBar: 标签栏。可以添加多个标签页。

  • 可以通过添加TabButton作为TabBar的子节点来添加标签页。
  • 可以通过设置TabButton的tab属性来指定标签页的内容。
  • 可以通过设置TabBar的selected属性来指定当前选中的标签页。

参考矩形

ReferenceRect: 参考矩形。用于调试。对于定位有空白空间的节点非常有用。会显示红色边框。

树节点

Tree: 树节点。用于显示层级结构。

图形相关节点

GraphNode: 能够在 GraphEdit 图中创建节点,节点会根据其子控件定制内容。 GraphEdit: 提供了用于对各种图进行创建、操作、显示的工具

触摸屏按钮

TouchScreenButton: 触摸屏按钮。用于在触摸屏上点击按钮。

需要使用到按键输入映射和触摸输入的场景,用触摸屏按钮。

  • 可以通过设置TouchScreenButton的texture属性来指定按钮的纹理。
  • 可以通过设置TouchScreenButton的size属性来指定按钮的大小。

控制节点

Control: 控制节点。用于在场景中添加可交互的元素。

更新于 2026/6/2