Up to date

This page is up to date for Godot 4.3. If you still find outdated information, please open an issue.

SplitContainer

Inherits: Container < Control < CanvasItem < Node < Object

Inherited By: HSplitContainer, VSplitContainer

A container that splits two child controls horizontally or vertically and provides a grabber for adjusting the split ratio.

Description

A container that accepts only two child controls, then arranges them horizontally or vertically and creates a divisor between them. The divisor can be dragged around to change the size relation between the child controls.

Tutorials

Properties

bool

collapsed

false

DraggerVisibility

dragger_visibility

0

int

split_offset

0

bool

vertical

false

Methods

void

clamp_split_offset()

Theme Properties

int

autohide

1

int

minimum_grab_thickness

6

int

separation

12

Texture2D

grabber

Texture2D

h_grabber

Texture2D

v_grabber


Signals

dragged(offset: int) 🔗

Emitted when the dragger is dragged by user.


Enumerations

enum DraggerVisibility: 🔗

DraggerVisibility DRAGGER_VISIBLE = 0

The split dragger is visible when the cursor hovers it.

DraggerVisibility DRAGGER_HIDDEN = 1

The split dragger is never visible.

DraggerVisibility DRAGGER_HIDDEN_COLLAPSED = 2

The split dragger is never visible and its space collapsed.


Property Descriptions

bool collapsed = false 🔗

  • void set_collapsed(value: bool)

  • bool is_collapsed()

If true, the area of the first Control will be collapsed and the dragger will be disabled.


DraggerVisibility dragger_visibility = 0 🔗

Determines the dragger's visibility. See DraggerVisibility for details.


int split_offset = 0 🔗

  • void set_split_offset(value: int)

  • int get_split_offset()

The initial offset of the splitting between the two Controls, with 0 being at the end of the first Control.


bool vertical = false 🔗

  • void set_vertical(value: bool)

  • bool is_vertical()

If true, the SplitContainer will arrange its children vertically, rather than horizontally.

Can't be changed when using HSplitContainer and VSplitContainer.


Method Descriptions

void clamp_split_offset() 🔗

Clamps the split_offset value to not go outside the currently possible minimal and maximum values.


Theme Property Descriptions

int autohide = 1 🔗

Boolean value. If 1 (true), the grabber will hide automatically when it isn't under the cursor. If 0 (false), it's always visible.


int minimum_grab_thickness = 6 🔗

The minimum thickness of the area users can click on to grab the splitting line. If separation or h_grabber / v_grabber's thickness are too small, this ensure that the splitting line can still be dragged.


int separation = 12 🔗

The space between sides of the container.


Texture2D grabber 🔗

The icon used for the grabber drawn in the middle area.


Texture2D h_grabber 🔗

The icon used for the grabber drawn in the middle area when vertical is false.


Texture2D v_grabber 🔗

The icon used for the grabber drawn in the middle area when vertical is true.