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.

SplitContainer

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

派生: HSplitContainer, VSplitContainer

将两个子控件垂直或水平分隔的容器,提供了用于调整分隔比例的抓取器。

描述

仅接受两个子控件的容器,会将它们垂直或水平排列,在中间创建一个分隔条。分隔条可以拖拽,从而改变两个控件的大小关系。

教程

属性

bool

collapsed

false

DraggerVisibility

dragger_visibility

0

int

split_offset

0

bool

vertical

false

方法

void

clamp_split_offset()

主题属性

int

autohide

1

int

minimum_grab_thickness

6

int

separation

12

Texture2D

grabber

Texture2D

h_grabber

Texture2D

v_grabber


信号

dragged(offset: int) 🔗

当用户拖动拖动器时发出。


枚举

enum DraggerVisibility: 🔗

DraggerVisibility DRAGGER_VISIBLE = 0

当光标悬停时,拆分拖动器是可见的。

DraggerVisibility DRAGGER_HIDDEN = 1

拆分拖动器永远不可见。

DraggerVisibility DRAGGER_HIDDEN_COLLAPSED = 2

拆分拖动器永远不可见,其空间也被折叠。


属性说明

bool collapsed = false 🔗

  • void set_collapsed(value: bool)

  • bool is_collapsed()

如果为 true,第一个 Control 的区域将被折叠并且拖动器将被禁用。


DraggerVisibility dragger_visibility = 0 🔗

确定拖动器的可见性。有关详细信息,请参阅 DraggerVisibility


int split_offset = 0 🔗

  • void set_split_offset(value: int)

  • int get_split_offset()

两个 Control 之间拆分的初始偏移量,0 位于第一个 Control 的末尾。


bool vertical = false 🔗

  • void set_vertical(value: bool)

  • bool is_vertical()

如果为 true,则该 SplitContainer 会垂直排列其子代,而不是水平排列。

在使用 HSplitContainerVSplitContainer 时无法改变。


方法说明

void clamp_split_offset() 🔗

限制 split_offset 值不超出当前可能的最小值和最大值。


主题属性说明

int autohide = 1 🔗

布尔值。如果1 (true),抓取器将在不在光标下时自动隐藏。如果0 (false),抓取器总是可见。


int minimum_grab_thickness = 6 🔗

用户可以点击以抓取分割线的区域的最小厚度。如果 separationh_grabber / v_grabber 的厚度太小,这样可以确保拆分线仍然可以被拖动。


int separation = 12 🔗

容器两侧之间的空间。


Texture2D grabber 🔗

在中间区域绘制的抓取图标。


Texture2D h_grabber 🔗

verticalfalse 时绘制在中间区域的抓取器图标。


Texture2D v_grabber 🔗

verticaltrue 时绘制在中间区域的抓取器图标。