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.

TabContainer

Hérite de : Container < Control < CanvasItem < Node < Object

Un conteneur qui crée un onglet pour chaque contrôle enfant, n'affichant que le contrôle de l'onglet actif.

Description

Arrange les contrôles enfants en une vue en onglets, créant un onglet pour chacun. Le contrôle correspondant à l'onglet actif est rendu visible, tandis que tous les autres contrôles enfants sont cachés. Ignore les contrôles non enfants.

Note : Le dessin des onglets cliquables est géré par ce nœud, TabBar n'est pas nécessaire.

Tutoriels

Propriétés

bool

all_tabs_in_front

bool

clip_tabs

true

int

current_tab

-1

bool

deselect_enabled

false

bool

drag_to_rearrange_enabled

false

bool

switch_on_drag_hover

true

AlignmentMode

tab_alignment

0

FocusMode

tab_focus_mode

2

bool

tab_{index}/disabled

false

bool

tab_{index}/hidden

false

Texture2D

tab_{index}/icon

String

tab_{index}/title

""

TabPosition

tabs_position

0

int

tabs_rearrange_group

-1

bool

tabs_visible

true

bool

use_hidden_tabs_for_min_size

false

Méthodes

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(tab_idx: int) const

Control

get_tab_control(tab_idx: int) const

int

get_tab_count() const

Texture2D

get_tab_icon(tab_idx: int) const

int

get_tab_icon_max_width(tab_idx: int) const

int

get_tab_idx_at_point(point: Vector2) const

int

get_tab_idx_from_control(control: Control) const

Variant

get_tab_metadata(tab_idx: int) const

String

get_tab_title(tab_idx: int) const

String

get_tab_tooltip(tab_idx: int) const

bool

is_tab_disabled(tab_idx: int) const

bool

is_tab_hidden(tab_idx: int) const

bool

select_next_available()

bool

select_previous_available()

void

set_popup(popup: Node)

void

set_tab_button_icon(tab_idx: int, icon: Texture2D)

void

set_tab_disabled(tab_idx: int, disabled: bool)

void

set_tab_hidden(tab_idx: int, hidden: bool)

void

set_tab_icon(tab_idx: int, icon: Texture2D)

void

set_tab_icon_max_width(tab_idx: int, width: int)

void

set_tab_metadata(tab_idx: int, metadata: Variant)

void

set_tab_title(tab_idx: int, title: String)

void

set_tab_tooltip(tab_idx: int, tooltip: String)

Propriétés du thème

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(0, 0, 0, 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)

Color

icon_disabled_color

Color(1, 1, 1, 1)

Color

icon_hovered_color

Color(1, 1, 1, 1)

Color

icon_selected_color

Color(1, 1, 1, 1)

Color

icon_unselected_color

Color(1, 1, 1, 1)

int

icon_max_width

0

int

icon_separation

4

int

outline_size

0

int

side_margin

8

int

tab_separation

0

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


Signaux

active_tab_rearranged(idx_to: int) 🔗

Émis quand l'onglet actif est réarrangé en glissant la souris. Voir drag_to_rearrange_enabled.


pre_popup_pressed() 🔗

Émis quand le bouton Popup du TabContainer est cliqué. Voir set_popup() pour les détails.


tab_button_pressed(tab: int) 🔗

Émis lorsque l'utilisateur clique sur l'icône du bouton de cet onglet.


tab_changed(tab: int) 🔗

Émis au changement d'onglet.


tab_clicked(tab: int) 🔗

Émis quand un onglet est cliqué, même si c'est l'onglet actuel.


tab_hovered(tab: int) 🔗

Émis quand un onglet est survolé par la souris.


tab_selected(tab: int) 🔗

Émis lorsqu'un onglet est sélectionné par un clic, une entrée directionnelle ou un script, même s'il s'agit de l'onglet actuel.


Énumérations

enum TabPosition: 🔗

TabPosition POSITION_TOP = 0

Place la barre d'onglet en haut.

TabPosition POSITION_BOTTOM = 1

Place la barre d'onglets en bas. La StyleBox de la barre d'onglets sera inversée verticalement.

TabPosition POSITION_MAX = 2

Représente la taille de l'énumération TabPosition.


Descriptions des propriétés

bool all_tabs_in_front 🔗

  • void set_all_tabs_in_front(value: bool)

  • bool is_all_tabs_in_front()

Obsolète : Due to internal changes this doesn't do anything anymore, as they're always in front.

This doesn't do anything.


bool clip_tabs = true 🔗

  • void set_clip_tabs(value: bool)

  • bool get_clip_tabs()

Si true, les onglets débordant de la largeur de ce nœud seront cachés, affichant deux boutons de navigation à la place. Sinon, la taille minimale de ce nœud est mise à jour de sorte que tous les onglets soient visibles.


int current_tab = -1 🔗

  • void set_current_tab(value: int)

  • int get_current_tab()

L'index actuel de l'onglet. Lorsque définie, la propriété visible du nœud Control de cet index est définie à true et toutes les autres sont définies à false.

Une valeur de -1 signifie qu'aucun onglet n'est sélectionné.


bool deselect_enabled = false 🔗

  • void set_deselect_enabled(value: bool)

  • bool get_deselect_enabled()

Si true, tous les onglets peuvent être désélectionnés de sorte qu'aucun onglet ne soit sélectionné. Cliquez sur l'onglet actuel current_tab pour le désélectionner.

Seul l'en-tête de l'onglet sera affiché si aucun onglet n'est sélectionné.


bool drag_to_rearrange_enabled = false 🔗

  • void set_drag_to_rearrange_enabled(value: bool)

  • bool get_drag_to_rearrange_enabled()

Si true, les onglets peuvent être réarrangés avec par déposé-glissé.


bool switch_on_drag_hover = true 🔗

  • void set_switch_on_drag_hover(value: bool)

  • bool get_switch_on_drag_hover()

If true, hovering over a tab while dragging something will switch to that tab. Does not have effect when hovering another tab to rearrange.


AlignmentMode tab_alignment = 0 🔗

La position à laquelle les onglets seront placés.


FocusMode tab_focus_mode = 2 🔗

Le mode d'accès au focus pour le nœud TabBar interne.


bool tab_{index}/disabled = false 🔗

If true, the tab at index is disabled.

Note: index is a value in the 0 .. get_tab_count() - 1 range.


bool tab_{index}/hidden = false 🔗

If true, the tab at index is hidden.

Note: index is a value in the 0 .. get_tab_count() - 1 range.


Texture2D tab_{index}/icon 🔗

The title text of the tab at index.

Note: index is a value in the 0 .. get_tab_count() - 1 range.


String tab_{index}/title = "" 🔗

The tooltip text of the tab at index.

Note: index is a value in the 0 .. get_tab_count() - 1 range.


TabPosition tabs_position = 0 🔗

The horizontal alignment of the tabs.


int tabs_rearrange_group = -1 🔗

  • void set_tabs_rearrange_group(value: int)

  • 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(value: bool)

  • bool are_tabs_visible()

Si true, les onglets sont visibles. Si false, le contenu des onglets et les titres sont masqués.


bool use_hidden_tabs_for_min_size = false 🔗

  • void set_use_hidden_tabs_for_min_size(value: bool)

  • bool get_use_hidden_tabs_for_min_size()

Si true, les nœuds Control enfants qui sont cachés auront leur taille minimale qui sera prise en compte dans le total, au lieu de seulement celle actuellement visible.


Descriptions des méthodes

Control get_current_tab_control() const 🔗

Renvoie le nœud Control enfant localisé à l'index de l'onglet actif.


Popup get_popup() const 🔗

Renvoie l'instance de nœud Popup si l'un a déjà été défini avec set_popup().

Avertissement : Il s'agit d'un nœud interne requis, le retirer et le supprimer peut causer un plantage. Si vous voulez le cacher ou l'un de ses enfants, utilisez leur propriété Window.visible.


int get_previous_tab() const 🔗

Renvoie l'index de l'onglet précédemment actif.


TabBar get_tab_bar() const 🔗

Renvoie le TabBar contenu dans ce conteneur.

Attention : Il s'agit d'un nœud interne nécessaire, l'enlever et le libérer ou en éditer les onglets peut causer un plantage. Si vous souhaitez modifier les onglets, utilisez les méthodes fournies dans TabContainer.


Texture2D get_tab_button_icon(tab_idx: int) const 🔗

Renvoie l'icône du bouton dans l'onglet à l'index tab_idx.


Control get_tab_control(tab_idx: int) const 🔗

Renvoie le nœud Control de l'onglet à l'index tab_idx.


int get_tab_count() const 🔗

Renvoie le nombre d'onglets.


Texture2D get_tab_icon(tab_idx: int) const 🔗

Renvoie la Texture2D pour l'onglet à l'index tab_idx ou null si l'onglet n'a pas de Texture2D.


int get_tab_icon_max_width(tab_idx: int) const 🔗

Renvoie la largeur maximale autorisée de l'icône pour l'onglet à l'index tab_idx.


int get_tab_idx_at_point(point: Vector2) const 🔗

Renvoie l'index de l'onglet aux coordonnées locales point. Renvoie -1 si le point est en dehors des limites du contrôle ou s'il n'y a pas d'onglet à la position demandée.


int get_tab_idx_from_control(control: Control) const 🔗

Renvoie l'index de l'onglet lié au contrôle control donné. Le contrôle doit être un enfant du TabContainer.


Variant get_tab_metadata(tab_idx: int) const 🔗

Renvoie la valeur des métadonnées définies dans l'onglet à l'index tab_idx en utilisant set_tab_metadata(). Si aucune métadonnée n'a été précédemment définie, renvoie null par défaut.


String get_tab_title(tab_idx: int) const 🔗

Renvoie le titre de l'onglet à l'index tab_idx. Le titres des onglets sont par défaut le nom des nœuds enfants indexés, mais ça peut être redéfini avec set_tab_title().


String get_tab_tooltip(tab_idx: int) const 🔗

Renvoie le texte de l'info-bulle de l'onglet à l'index tab_idx.


bool is_tab_disabled(tab_idx: int) const 🔗

Renvoie true si l'onglet à la position tab_idx est désactivé.


bool is_tab_hidden(tab_idx: int) const 🔗

Renvoie true si l'onglet à l'index tab_idx est masqué.


bool select_next_available() 🔗

Sélectionne le premier onglet disponible avec un index supérieur à celui actuellement sélectionné. Renvoietrue si la sélection d'onglet a changé.


bool select_previous_available() 🔗

Sélectionne le premier onglet disponible avec un index inférieur à celui actuellement sélectionné. Renvoietrue si la sélection d'onglet a changé.


void set_popup(popup: Node) 🔗

Si défini à une instance de nœud Popup, une icône de menu popup apparaît dans le coin supérieur droit du TabContainer (le définir à null la fera disparaître). Cliquer dessus étendra le nœud Popup.


void set_tab_button_icon(tab_idx: int, icon: Texture2D) 🔗

Définit l'icône du bouton de l'onglet à l'index tab_idx.


void set_tab_disabled(tab_idx: int, disabled: bool) 🔗

Si disabled est true, désactive l'onglet à l'index tab_idx, le rendant non-interactif.


void set_tab_hidden(tab_idx: int, hidden: bool) 🔗

Si hidden vaut true, cache l'onglet à l'index tab_idx, le faisait disparaître de la zone des onglets.


void set_tab_icon(tab_idx: int, icon: Texture2D) 🔗

Définit une icône pour l'onglet à la position tab_idx.


void set_tab_icon_max_width(tab_idx: int, width: int) 🔗

Définit la largeur maximale autorisée de l'icône pour l'onglet à l'index tab_idx. Cette limite est appliquée en plus de la taille par défaut de l'icône et en plus de icon_max_width. La hauteur est ajustée selon le ratio de l'icône.


void set_tab_metadata(tab_idx: int, metadata: Variant) 🔗

Définit la valeur des métadonnées pour l'onglet à l'index tab_idx, qui peuvent être récupérées plus tard en utilisant get_tab_metadata().


void set_tab_title(tab_idx: int, title: String) 🔗

Définit un titre personnalisé pour l'onglet à l'index tab_idx (les titres des onglets sont par défaut le nom du nœud enfant indexé). Définissez au nom de l'enfant pour qu'il redevienne le nom par défaut.


void set_tab_tooltip(tab_idx: int, tooltip: String) 🔗

Définit un texte d'info-bulle personnalisé pour l'onglet à l'index tab_idx.

Note : Par défaut, si le tooltip est vide et que le texte de l'onglet est tronqué (tous les caractères ne s'inscrivent pas tous dans l'onglet), le titre sera affiché en tant qu'info-bulle. Pour cacher l'info-bulle, assignez " " comme texte du tooltip.


Descriptions des propriétés du thème

Color drop_mark_color = Color(1, 1, 1, 1) 🔗

Couleur de modulation pour l'icône drop_mark.


Color font_disabled_color = Color(0.875, 0.875, 0.875, 0.5) 🔗

La couleur de la police pour les onglets désactivés.


Color font_hovered_color = Color(0.95, 0.95, 0.95, 1) 🔗

Couleur de la police de l'onglet actuellement survolé. Ne s'applique pas à l'onglet sélectionné.


Color font_outline_color = Color(0, 0, 0, 1) 🔗

La teinte du contour du texte du nom de l'onglet.


Color font_selected_color = Color(0.95, 0.95, 0.95, 1) 🔗

La couleur de la police pour l'onglet actuellement sélectionné.


Color font_unselected_color = Color(0.7, 0.7, 0.7, 1) 🔗

Couleur de police pour les autres onglets, non sélectionnés.


Color icon_disabled_color = Color(1, 1, 1, 1) 🔗

Icon color of disabled tabs.


Color icon_hovered_color = Color(1, 1, 1, 1) 🔗

Icon color of the currently hovered tab. Does not apply to the selected tab.


Color icon_selected_color = Color(1, 1, 1, 1) 🔗

Icon color of the currently selected tab.


Color icon_unselected_color = Color(1, 1, 1, 1) 🔗

Icon color of the other, unselected tabs.


int icon_max_width = 0 🔗

La largeur maximale autorisée de l'icône de l'onglet. Cette limite est appliquée par dessus la taille par défaut de l'icône, mais avant la valeur définie avec TabBar.set_tab_icon_max_width(). La hauteur est ajustée selon le rapport de l'icône.


int icon_separation = 4 🔗

Espacement entre le nom de l'onglet et son icône.


int outline_size = 0 🔗

La taille du contour du texte de l'onglet.

Note : Lors de l'utilisation d'une police avec FontFile.multichannel_signed_distance_field activé, son FontFile.msdf_pixel_range doit être défini à au moins deux fois la valeur de outline_size pour que le rendu puisse être correct. Sinon, le contour peut sembler être coupé plus tôt que prévu.


int side_margin = 8 🔗

L'espace du bord gauche ou droite de la barre d'onglet, selon le tab_alignment actuel.

La marge est ignorée avec TabBar.ALIGNMENT_RIGHT si les onglets sont coupés (voir clip_tabs) ou si une popup a été définie (voir set_popup()). La marge est toujours ignorée avec TabBar.ALIGNMENT_CENTER.


int tab_separation = 0 🔗

L'espace entre les onglets dans la barre d'onglets.


Font font 🔗

La police utilisée pour les noms des onglets.


int font_size 🔗

Taille de police des noms d'onglet.


Texture2D decrement 🔗

L'icône pour le bouton flèche de gauche qui apparaît quand il y a trop d'onglets à afficher dans le conteneur. Lorsque le bouton est désactivé (c'est-à-dire le premier onglet est visible), il apparaît en semi-transparent.


Texture2D decrement_highlight 🔗

L'icône pour le bouton flèche de gauche qui apparaît quand il y a trop d'onglets à afficher dans le conteneur. Utilisé quand le bouton est survolé par le curseur.


Texture2D drop_mark 🔗

Icon shown to indicate where a dragged tab will be dropped (see drag_to_rearrange_enabled).


Texture2D increment 🔗

L'icône pour le bouton flèche de droite qui apparaît quand il y a trop d'onglets à afficher dans le conteneur. Lorsque le bouton est désactivé (c'est-à-dire le dernier onglet est visible), il apparaît en semi-transparent.


Texture2D increment_highlight 🔗

L'icône pour le bouton flèche de droite qui apparaît quand il y a trop d'onglets à afficher dans le conteneur. Utilisé quand le bouton est survolé par le curseur.


Texture2D menu 🔗

L'icône pour le bouton de menu (voir set_popup()).


Texture2D menu_highlight 🔗

L'icône du bouton de menu (voir set_popup()) quand il est survolé par le curseur de la souris.


StyleBox panel 🔗

Le style pour le remplissage de l'arrière-plan.


StyleBox tab_disabled 🔗

Le style des onglets désactivés.


StyleBox tab_focus 🔗

StyleBox utilisé lorsque le TabBar a le focus. La StyleBox tab_focus est affichée par-dessus la StyleBox de base de l'onglet sélectionné, ainsi une StyleBox partiellement transparente devrait être utilisée pour s'assurer que la StyleBox de base reste visible. Une StyleBox qui représente un contour ou un soulignement fonctionne bien à cette fin. Pour désactiver l'effet visuel du focus, assignez une ressource StyleBoxEmpty. Notez que la désactivation de l'effet visuel du focus va nuire à l'utilisabilité de la navigation clavier/contrôleur, ce qui n'est donc pas recommandé pour des raisons d'accessibilité.


StyleBox tab_hovered 🔗

Le style de l'onglet actuellement survolé.

Note : Ce style sera dessiné avec la même largeur que tab_unselected au minimum.


StyleBox tab_selected 🔗

Le style de l'onglet actuellement sélectionné.


StyleBox tab_unselected 🔗

Le style des autres onglets, non sélectionnés.


StyleBox tabbar_background 🔗

Le style pour le remplissage de l'arrière-plan de la zone TabBar.