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.

TabBar

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

Un contrôle qui fournit une barre horizontale avec des onglets.

Description

Un contrôle qui fournit une barre horizontale avec des onglets. Semblable à TabContainer mais est seulement chargé de dessiner les onglets, pas d'interagir avec les enfants.

Propriétés

bool

clip_tabs

true

bool

close_with_middle_mouse

true

int

current_tab

-1

bool

deselect_enabled

false

bool

drag_to_rearrange_enabled

false

FocusMode

focus_mode

2 (overrides Control)

int

max_tab_width

0

bool

scroll_to_selected

true

bool

scrolling_enabled

true

bool

select_with_rmb

false

bool

switch_on_drag_hover

true

AlignmentMode

tab_alignment

0

CloseButtonDisplayPolicy

tab_close_display_policy

0

int

tab_count

0

bool

tab_{index}/disabled

false

Texture2D

tab_{index}/icon

String

tab_{index}/title

""

String

tab_{index}/tooltip

""

int

tabs_rearrange_group

-1

Méthodes

void

add_tab(title: String = "", icon: Texture2D = null)

void

clear_tabs()

void

ensure_tab_visible(idx: int)

bool

get_offset_buttons_visible() const

int

get_previous_tab() const

Texture2D

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

String

get_tab_language(tab_idx: int) const

Variant

get_tab_metadata(tab_idx: int) const

int

get_tab_offset() const

Rect2

get_tab_rect(tab_idx: int) const

TextDirection

get_tab_text_direction(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

void

move_tab(from: int, to: int)

void

remove_tab(tab_idx: int)

bool

select_next_available()

bool

select_previous_available()

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_language(tab_idx: int, language: String)

void

set_tab_metadata(tab_idx: int, metadata: Variant)

void

set_tab_text_direction(tab_idx: int, direction: TextDirection)

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

h_separation

4

int

hover_switch_wait_msec

500

int

icon_max_width

0

int

outline_size

0

int

tab_separation

0

Font

font

int

font_size

Texture2D

close

Texture2D

decrement

Texture2D

decrement_highlight

Texture2D

drop_mark

Texture2D

increment

Texture2D

increment_highlight

StyleBox

button_highlight

StyleBox

button_pressed

StyleBox

tab_disabled

StyleBox

tab_focus

StyleBox

tab_hovered

StyleBox

tab_selected

StyleBox

tab_unselected


Signaux

active_tab_rearranged(idx_to: int) 🔗

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


tab_button_pressed(tab: int) 🔗

Émis quand le bouton droit d'un onglet est appuyé. Voir set_tab_button_icon().


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_close_pressed(tab: int) 🔗

Emitted when a tab's close button is pressed or, if close_with_middle_mouse is true, when middle-clicking on a tab.

Note: Tabs are not removed automatically; this behavior needs to be coded manually. For example:

$TabBar.tab_close_pressed.connect($TabBar.remove_tab)

tab_hovered(tab: int) 🔗

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


tab_rmb_clicked(tab: int) 🔗

Emitted when a tab is right-clicked.


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 AlignmentMode: 🔗

AlignmentMode ALIGNMENT_LEFT = 0

Aligns tabs to the left.

AlignmentMode ALIGNMENT_CENTER = 1

Aligns tabs in the middle.

AlignmentMode ALIGNMENT_RIGHT = 2

Aligns tabs to the right.

AlignmentMode ALIGNMENT_MAX = 3

Représente la taille de l’enum AlignmentMode.


enum CloseButtonDisplayPolicy: 🔗

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_NEVER = 0

Ne jamais afficher les boutons fermer.

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_ACTIVE_ONLY = 1

N'afficher le bouton fermer que pour l'onglet actif.

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_ALWAYS = 2

Affiche le bouton fermer sur tous les onglets.

CloseButtonDisplayPolicy CLOSE_BUTTON_MAX = 3

Représente la taille de l’enum CloseButtonDisplayPolicy.


Descriptions des propriétés

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.


bool close_with_middle_mouse = true 🔗

  • void set_close_with_middle_mouse(value: bool)

  • bool get_close_with_middle_mouse()

Si true, un clic du milieu de la souris sur un onglet émettra le tab_close_pressedsignal.


int current_tab = -1 🔗

  • void set_current_tab(value: int)

  • int get_current_tab()

L'index de l'onglet sélectionné actuel. Une valeur de -1 signifie qu'aucun onglet n'est sélectionné et ne peut être défini que lorsque deselect_enabled vaut true ou si tous les onglets sont cachés ou désactivés.


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 pour le désélectionner.


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é.


int max_tab_width = 0 🔗

  • void set_max_tab_width(value: int)

  • int get_max_tab_width()

Définit la largeur maximale à laquelle tous les onglets devraient être limités. Illimités si défini à 0.


bool scroll_to_selected = true 🔗

  • void set_scroll_to_selected(value: bool)

  • bool get_scroll_to_selected()

Si true, le décalage de l'onglet sera modifié pour garder l'onglet actuellement sélectionné visible.


bool scrolling_enabled = true 🔗

  • void set_scrolling_enabled(value: bool)

  • bool get_scrolling_enabled()

si true, la roue de défilement de la souris permet de naviguer dans la vue de défilement.


bool select_with_rmb = false 🔗

  • void set_select_with_rmb(value: bool)

  • bool get_select_with_rmb()

Si true, active la possibilité de sélectionner les onglets avec le clic droit.


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. The delay for when this happens is dictated by hover_switch_wait_msec.


AlignmentMode tab_alignment = 0 🔗

The horizontal alignment of the tabs.


CloseButtonDisplayPolicy tab_close_display_policy = 0 🔗

Quand est-ce que le bouton de fermeture apparaîtra sur les onglets.


int tab_count = 0 🔗

  • void set_tab_count(value: int)

  • int get_tab_count()

Le nombre d'onglets actuellement dans la barre.


bool tab_{index}/disabled = false 🔗

If true, the tab at index is disabled.

Note: index is a value in the 0 .. tab_count - 1 range.


Texture2D tab_{index}/icon 🔗

If true, the tab at index is hidden.

Note: index is a value in the 0 .. tab_count - 1 range.


String tab_{index}/title = "" 🔗

The title text of the tab at index.

Note: index is a value in the 0 .. tab_count - 1 range.


String tab_{index}/tooltip = "" 🔗

The tooltip text of the tab at index.

Note: index is a value in the 0 .. tab_count - 1 range.


int tabs_rearrange_group = -1 🔗

  • void set_tabs_rearrange_group(value: int)

  • int get_tabs_rearrange_group()

Des TabBars avec le même ID de groupe de réorganisation permettront de glisser les onglets entre eux. Activez le glissement avec drag_to_rearrange_enabled.

Définir ceci à -1 désactivera la réorganisation entre les TabBars.


Descriptions des méthodes

void add_tab(title: String = "", icon: Texture2D = null) 🔗

Ajoute un nouvel onglet.


void clear_tabs() 🔗

Efface tous les onglets.


void ensure_tab_visible(idx: int) 🔗

Déplace la vue de défilement pour rendre l'onglet visible.


bool get_offset_buttons_visible() const 🔗

Renvoie true si les boutons de décalage (les boutons qui apparaissent lorsqu'il n'y a pas assez d'espace pour tous les onglets) sont visibles.


int get_previous_tab() const 🔗

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


Texture2D get_tab_button_icon(tab_idx: int) const 🔗

Renvoie l'icône pour le bouton droit de l'onglet à l'index tab_idx ou null si le bouton droit n'a pas d'icône.


Texture2D get_tab_icon(tab_idx: int) const 🔗

Renvoie l'icône pour l'onglet à l'index tab_idx ou null si l'onglet n'a pas d'icône.


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.


String get_tab_language(tab_idx: int) const 🔗

Renvoie le code de langue de l'onglet.


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.


int get_tab_offset() const 🔗

Renvoie le nombre d'onglets cachés décalés vers la gauche.


Rect2 get_tab_rect(tab_idx: int) const 🔗

Renvoie l'onglet Rect2 avec la position et la taille locales.


TextDirection get_tab_text_direction(tab_idx: int) const 🔗

Renvoie la direction d'écriture de base du texte du titre de l'onglet.


String get_tab_title(tab_idx: int) const 🔗

Renvoie le titre de l'onglet à l'index tab_idx.


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é.


void move_tab(from: int, to: int) 🔗

Déplace un onglet de from à to.


void remove_tab(tab_idx: int) 🔗

Retire l'onglet à l'index tab_idx.


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_tab_button_icon(tab_idx: int, icon: Texture2D) 🔗

Définit un icon pour le bouton de l'onglet à l'index tab_idx (qui se trouve à droite, avant de bouton de fermeture), le rendant visible et cliquable (voir tab_button_pressed). Lui donner une valeur null cachera le bouton.


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 icon pour l'onglet à l'index 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_language(tab_idx: int, language: String) 🔗

Sets the language code of the title for the tab at index tab_idx to language. This is used for line-breaking and text shaping algorithms. If language is empty, the current locale is used.


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_text_direction(tab_idx: int, direction: TextDirection) 🔗

Définit la direction d'écriture de base du titre de l'onglet.


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

Définit un titre title pour l'onglet à l'index tab_idx.


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

Définit une info-bulle tooltip pour l'onglet à l'index tab_idx.

Note : Par défaut, si l'info-bulle tooltip est vide et que le texte de l'onglet est tronqué (les caractères ne rentrent pas tous dans l'onglet), le titre sera affiché en tant qu'info-bulle. Pour cacher l'info-bulle, assignez " " comme texte de 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 h_separation = 4 🔗

La séparation horizontale entre les éléments dans les onglets.


int hover_switch_wait_msec = 500 🔗

During a drag-and-drop, this is how many milliseconds to wait before switching the tab.


int icon_max_width = 0 🔗

La largeur maximale autorisée de l'icône de l'onglet. Cette limite est appliquée en plus de la taille par défaut de l'icône, mais avant la valeur définie avec set_tab_icon_max_width(). La hauteur est ajustée selon le ratio de l'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 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 close 🔗

L'icône pour le bouton fermer (voir tab_close_display_policy).


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.


StyleBox button_highlight 🔗

Arrière-plan de l'onglet et des boutons de fermeture quand ils sont survolés avec le curseur.


StyleBox button_pressed 🔗

Arrière-plan de l'onglet et des boutons de fermeture quand ils sont appuyés.


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é. Ne s'applique pas à l'onglet sélectionné.

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.