Up to date

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

TabContainer

Inherits: Container < Control < CanvasItem < Node < Object

A container that creates a tab for each child control, displaying only the active tab's control.

Description

Arranges child controls into a tabbed view, creating a tab for each one. The active tab's corresponding control is made visible, while all other child controls are hidden. Ignores non-control children.

Note: The drawing of the clickable tabs is handled by this node; TabBar is not needed.

Tutorials

Properties

bool

all_tabs_in_front

false

bool

clip_tabs

true

int

current_tab

0

bool

drag_to_rearrange_enabled

false

AlignmentMode

tab_alignment

0

FocusMode

tab_focus_mode

2

int

tabs_rearrange_group

-1

bool

tabs_visible

true

bool

use_hidden_tabs_for_min_size

false

Methods

Control

get_current_tab_control ( ) const

Popup

get_popup ( ) const

int

get_previous_tab ( ) const

TabBar

get_tab_bar ( ) const

Texture2D

get_tab_button_icon ( int tab_idx ) const

Control

get_tab_control ( int tab_idx ) const

int

get_tab_count ( ) const

Texture2D

get_tab_icon ( int tab_idx ) const

int

get_tab_idx_at_point ( Vector2 point ) const

int

get_tab_idx_from_control ( Control control ) const

Variant

get_tab_metadata ( int tab_idx ) const

String

get_tab_title ( int tab_idx ) const

bool

is_tab_disabled ( int tab_idx ) const

bool

is_tab_hidden ( int tab_idx ) const

bool

select_next_available ( )

bool

select_previous_available ( )

void

set_popup ( Node popup )

void

set_tab_button_icon ( int tab_idx, Texture2D icon )

void

set_tab_disabled ( int tab_idx, bool disabled )

void

set_tab_hidden ( int tab_idx, bool hidden )

void

set_tab_icon ( int tab_idx, Texture2D icon )

void

set_tab_metadata ( int tab_idx, Variant metadata )

void

set_tab_title ( int tab_idx, String title )

Theme Properties

Color

drop_mark_color

Color(1, 1, 1, 1)

Color

font_disabled_color

Color(0.875, 0.875, 0.875, 0.5)

Color

font_hovered_color

Color(0.95, 0.95, 0.95, 1)

Color

font_outline_color

Color(1, 1, 1, 1)

Color

font_selected_color

Color(0.95, 0.95, 0.95, 1)

Color

font_unselected_color

Color(0.7, 0.7, 0.7, 1)

int

icon_max_width

0

int

icon_separation

4

int

outline_size

0

int

side_margin

8

Font

font

int

font_size

Texture2D

decrement

Texture2D

decrement_highlight

Texture2D

drop_mark

Texture2D

increment

Texture2D

increment_highlight

Texture2D

menu

Texture2D

menu_highlight

StyleBox

panel

StyleBox

tab_disabled

StyleBox

tab_focus

StyleBox

tab_hovered

StyleBox

tab_selected

StyleBox

tab_unselected

StyleBox

tabbar_background


Signals

active_tab_rearranged ( int idx_to )

Emitted when the active tab is rearranged via mouse drag. See drag_to_rearrange_enabled.


pre_popup_pressed ( )

Emitted when the TabContainer's Popup button is clicked. See set_popup for details.


tab_button_pressed ( int tab )

Emitted when the user clicks on the button icon on this tab.


tab_changed ( int tab )

Emitted when switching to another tab.


tab_clicked ( int tab )

Emitted when a tab is clicked, even if it is the current tab.


tab_hovered ( int tab )

Emitted when a tab is hovered by the mouse.


tab_selected ( int tab )

Emitted when a tab is selected via click, directional input, or script, even if it is the current tab.


Property Descriptions

bool all_tabs_in_front = false

  • void set_all_tabs_in_front ( bool value )

  • bool is_all_tabs_in_front ( )

If true, all tabs are drawn in front of the panel. If false, inactive tabs are drawn behind the panel.


bool clip_tabs = true

  • void set_clip_tabs ( bool value )

  • bool get_clip_tabs ( )

If true, tabs overflowing this node's width will be hidden, displaying two navigation buttons instead. Otherwise, this node's minimum size is updated so that all tabs are visible.


int current_tab = 0

  • void set_current_tab ( int value )

  • int get_current_tab ( )

The current tab index. When set, this index's Control node's visible property is set to true and all others are set to false.


bool drag_to_rearrange_enabled = false

  • void set_drag_to_rearrange_enabled ( bool value )

  • bool get_drag_to_rearrange_enabled ( )

If true, tabs can be rearranged with mouse drag.


AlignmentMode tab_alignment = 0

Sets the position at which tabs will be placed. See AlignmentMode for details.


FocusMode tab_focus_mode = 2

The focus access mode for the internal TabBar node.


int tabs_rearrange_group = -1

  • void set_tabs_rearrange_group ( int value )

  • int get_tabs_rearrange_group ( )

TabContainers with the same rearrange group ID will allow dragging the tabs between them. Enable drag with drag_to_rearrange_enabled.

Setting this to -1 will disable rearranging between TabContainers.


bool tabs_visible = true

  • void set_tabs_visible ( bool value )

  • bool are_tabs_visible ( )

If true, tabs are visible. If false, tabs' content and titles are hidden.


bool use_hidden_tabs_for_min_size = false

  • void set_use_hidden_tabs_for_min_size ( bool value )

  • bool get_use_hidden_tabs_for_min_size ( )

If true, children Control nodes that are hidden have their minimum size take into account in the total, instead of only the currently visible one.


Method Descriptions

Control get_current_tab_control ( ) const

Returns the child Control node located at the active tab index.


Popup get_popup ( ) const

Returns the Popup node instance if one has been set already with set_popup.

Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their Window.visible property.


int get_previous_tab ( ) const

Returns the previously active tab index.


TabBar get_tab_bar ( ) const

Returns the TabBar contained in this container.

Warning: This is a required internal node, removing and freeing it or editing its tabs may cause a crash. If you wish to edit the tabs, use the methods provided in TabContainer.


Texture2D get_tab_button_icon ( int tab_idx ) const

Returns the button icon from the tab at index tab_idx.


Control get_tab_control ( int tab_idx ) const

Returns the Control node from the tab at index tab_idx.


int get_tab_count ( ) c