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

Eredita: Container < Control < CanvasItem < Node < Object

Un contenitore che crea una scheda per ogni controllo figlio, visualizzando solo il controllo della scheda attiva.

Descrizione

Dispone i controlli figlio in una vista a schede, creando una scheda per ciascuno. Il controllo corrispondente della scheda attiva è reso visibile, mentre tutti gli altri controlli figlio sono nascosti. Ignora i figli non di controllo.

Nota: Il disegno delle schede cliccabili è gestito da questo nodo; TabBar non è necessario.

Tutorial

Proprietà

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

Metodi

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)

Proprietà del tema

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


Segnali

active_tab_rearranged(idx_to: int) 🔗

Emesso quando la scheda attiva viene riorganizzata tramite il trascinamento del mouse. Vedi drag_to_rearrange_enabled.


pre_popup_pressed() 🔗

Emesso quando si clicca sul pulsante Popup del TabContainer. Vedi set_popup() per i dettagli.


tab_button_pressed(tab: int) 🔗

Emesso quando l'utente clicca sull'icona del pulsante in questa scheda.


tab_changed(tab: int) 🔗

Emesso quando si cambia a un'altra scheda.


tab_clicked(tab: int) 🔗

Emesso quando si clicca su una scheda, anche se è la scheda attuale.


tab_hovered(tab: int) 🔗

Emesso quando si passa il mouse su una scheda.


tab_selected(tab: int) 🔗

Emesso quando una scheda viene selezionata tramite clic, input direzionale o script, anche se è la scheda attuale.


Enumerazioni

enum TabPosition: 🔗

TabPosition POSITION_TOP = 0

Posiziona la barra delle schede in alto.

TabPosition POSITION_BOTTOM = 1

Posiziona la barra delle schede in basso. Lo StyleBox della barra delle schede sarà capovolto verticalmente.

TabPosition POSITION_MAX = 2

Rappresenta la dimensione dell'enumerazione TabPosition.


Descrizioni delle proprietà

bool all_tabs_in_front 🔗

  • void set_all_tabs_in_front(value: bool)

  • bool is_all_tabs_in_front()

Deprecato: 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()

Se true, le schede che superano la larghezza di questo nodo saranno nascoste, visualizzando invece due pulsanti di navigazione. Altrimenti, la dimensione minima di questo nodo è aggiustata in modo che tutte le schede siano visibili.


int current_tab = -1 🔗

  • void set_current_tab(value: int)

  • int get_current_tab()

L'indice della scheda attuale. Quando impostato, la proprietà visible del nodo Control a questo indice è impostata su true e tutte le altre sono impostate su false.

Un valore di -1 significa che nessuna scheda è selezionata.


bool deselect_enabled = false 🔗

  • void set_deselect_enabled(value: bool)

  • bool get_deselect_enabled()

Se true, tutte le schede possono essere deselezionate in modo che nessuna scheda sia selezionata. Clicca su current_tab per deselezionarla.

Sarà mostrata solo l'intestazione della scheda se nessuna scheda è selezionata.


bool drag_to_rearrange_enabled = false 🔗

  • void set_drag_to_rearrange_enabled(value: bool)

  • bool get_drag_to_rearrange_enabled()

Se true, le schede possono essere riorganizzate trascinandole con il mouse.


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 posizione in cui saranno posizionate le schede.


FocusMode tab_focus_mode = 2 🔗

La modalità di accesso alla focalizzazione per il nodo TabBar interno.


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

I TabContainer con lo stesso ID di gruppo di riorganizzazione consentiranno di trascinare le schede tra di loro. Abilita il trascinamento con drag_to_rearrange_enabled.

Impostando questo su -1 sarà disabilitata la riorganizzazione tra i TabContainer.


bool tabs_visible = true 🔗

  • void set_tabs_visible(value: bool)

  • bool are_tabs_visible()

Se true, le schede sono visibili. Se false, il contenuto e i titoli delle schede sono nascosti.


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

Se true, la dimensione minima dei nodi Control figlio nascosti è presa in considerazione per quella totale, invece di solo quella attualmente visibile.


Descrizioni dei metodi

Control get_current_tab_control() const 🔗

Restituisce il nodo Control figlio situato nell'indice della scheda attiva.


Popup get_popup() const 🔗

Restituisce l'istanza del nodo Popup se ne è già stata impostata una con set_popup().

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un crash. Se desideri nascondere questo nodo o uno dei suoi figli, usa la loro proprietà Window.visible.


int get_previous_tab() const 🔗

Restituisce l'indice della scheda precedentemente attiva.


TabBar get_tab_bar() const 🔗

Restituisce la TabBar contenuta in questo contenitore.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un crash. Se si desidera modificare le schede, usa i metodi forniti in TabContainer.


Texture2D get_tab_button_icon(tab_idx: int) const 🔗

Restituisce l'icona del pulsante dalla scheda all'indice tab_idx.


Control get_tab_control(tab_idx: int) const 🔗

Restituisce il nodo Control dalla scheda all'indice tab_idx.


int get_tab_count() const 🔗

Restituisce il numero di schede.


Texture2D get_tab_icon(tab_idx: int) const 🔗

Restituisce la Texture2D della scheda all'indice tab_idx o null se la scheda non ha una Texture2D.


int get_tab_icon_max_width(tab_idx: int) const 🔗

Restituisce la larghezza massima consentita dell'icona per la scheda all'indice tab_idx.


int get_tab_idx_at_point(point: Vector2) const 🔗

Restituisce l'indice della scheda nelle coordinate locali point. Restituisce -1 se il punto è al di fuori dei limiti di controllo o se nessuna scheda è presente nella posizione interrogata.


int get_tab_idx_from_control(control: Control) const 🔗

Restituisce l'indice della scheda associata al control specificato. Il controllo deve essere un figlio del TabContainer.


Variant get_tab_metadata(tab_idx: int) const 🔗

Restituisce il valore dei metadati impostato sulla scheda all'indice tab_idx tramite set_tab_metadata(). Se non sono stati impostati metadati, restituisce null per impostazione predefinita.


String get_tab_title(tab_idx: int) const 🔗

Restituisce il titolo della scheda all'indice tab_idx. Per impostazione predefinita, i titoli delle schede sono impostati sul nome del nodo figlio indicizzato, ma questo può essere sovrascritto con set_tab_title().


String get_tab_tooltip(tab_idx: int) const 🔗

Restituisce il testo del tooltip della scheda all'indice tab_idx.


bool is_tab_disabled(tab_idx: int) const 🔗

Restituisce true se la scheda all'indice tab_idx è disabilitata.


bool is_tab_hidden(tab_idx: int) const 🔗

Restituisce true se la scheda all'indice tab_idx è nascosta.


bool select_next_available() 🔗

Seleziona la prima scheda disponibile con un indice maggiore di quella attualmente selezionata. Restituisce true se la selezione della scheda è cambiata.


bool select_previous_available() 🔗

Seleziona la prima scheda disponibile con un indice minore di quella attualmente selezionata. Restituisce true se la selezione della scheda è cambiata.


void set_popup(popup: Node) 🔗

Se impostato su un'istanza del nodo Popup, un'icona del menu popup appare nell'angolo in alto a destra del TabContainer (impostandola su null la farà scomparire). Cliccando su di essa, il nodo Popup si espanderà.


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

Imposta l'icona del pulsante dalla scheda all'indice tab_idx.


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

Se disabled è true, disabilita la scheda all'indice tab_idx, rendendola non interattiva.


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

Se hidden è true, nasconde la scheda all'indice tab_idx, facendola scomparire dall'area della scheda.


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

Imposta un'icona per la scheda all'indice tab_idx.


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

Imposta la larghezza massima consentita dell'icona per la scheda all'indice tab_idx. Questo limite viene applicato al di sopra della dimensione predefinita dell'icona e sopra a icon_max_width. L'altezza è regolata in base al rapporto dell'icona.


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

Imposta il valore dei metadati per la scheda all'indice tab_idx, che può essere recuperato in seguito tramite get_tab_metadata().


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

Imposta un titolo personalizzato per la scheda all'indice tab_idx (i titoli delle schede sono impostati per impostazione predefinita sul nome del nodo figlio indicizzato). Reimpostalo sul nome del nodo figlio per ripristinare la scheda al titolo predefinito.


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

Imposta un testo di suggerimento personalizzato per la scheda all'indice tab_idx.

Nota: Per impostazione predefinita, se tooltip è vuoto e il testo della scheda è troncato (non tutti i caratteri entrano nella scheda), il titolo sarà visualizzato nel tooltip. Per nascondere il tooltip, assegna " " come testo in tooltip.


Descrizioni delle proprietà del tema

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

Il colore di modulazione per l'icona drop_mark.


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

Il colore del font delle schede disabilitate.


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

Il colore del font della scheda al passaggio del mouse. Non si applica alla scheda selezionata.


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

La tinta del contorno del testo per il nome della scheda.


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

Il colore del font della scheda attualmente selezionata.


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

Il colore del font delle altre schede non selezionate.


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 larghezza massima consentita dell'icona della scheda. Questo limite è applicato al di sopra della dimensione predefinita dell'icona, ma prima del valore impostato con TabBar.set_tab_icon_max_width(). L'altezza è regolata in base al rapporto dell'icona.


int icon_separation = 4 🔗

Lo spazio tra il nome della scheda e la sua icona.


int outline_size = 0 🔗

La dimensione del contorno del testo della scheda.

Nota: Se si utilizza un font con FontFile.multichannel_signed_distance_field abilitato, il suo FontFile.msdf_pixel_range deve essere impostato su almeno il doppio del valore di outline_size affinché il rendering del contorno appaia corretto. Altrimenti, il contorno potrebbe apparire troncato prima del previsto.


int side_margin = 8 🔗

Lo spazio sui bordi sinistro o destro della barra delle schede, in base all'attuale tab_alignment.

Il margine è ignorato con TabBar.ALIGNMENT_RIGHT se le schede sono ritagliate (vedi clip_tabs) o è stato impostato un popup (vedi set_popup()). Il margine è sempre ignorato con TabBar.ALIGNMENT_CENTER.


int tab_separation = 0 🔗

La spaziatura tra le schede nella barra di schede.


Font font 🔗

Il font utilizzato per disegnare i nomi delle schede.


int font_size 🔗

La dimensione del font dei nomi delle schede.


Texture2D decrement 🔗

L'icona per il pulsante freccia sinistra che appare quando ci sono troppe schede per adattarsi alla larghezza del contenitore. Quando il pulsante è disabilitato (ovvero la prima scheda è visibile), appare semi-trasparente.


Texture2D decrement_highlight 🔗

L'icona per il pulsante freccia sinistra che appare quando ci sono troppe schede per adattarsi alla larghezza del contenitore. Utilizzato quando si passa il cursore sul pulsante.


Texture2D drop_mark 🔗

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


Texture2D increment 🔗

L'icona per il pulsante freccia destra che appare quando ci sono troppe schede per adattarsi alla larghezza del contenitore. Quando il pulsante è disabilitato (ovvero l'ultima scheda è visibile), appare semi-trasparente.


Texture2D increment_highlight 🔗

L'icona per il pulsante freccia destro che appare quando ci sono troppe schede per adattarsi alla larghezza del contenitore. Utilizzato quando si passa il cursore sul pulsante.


Texture2D menu 🔗

L'icona per il pulsante del menu (vedi set_popup()).


Texture2D menu_highlight 🔗

L'icona per il pulsante del menu (vedi set_popup()) quando ci si passa sopra con il cursore.


StyleBox panel 🔗

Lo stile per il riempimento dello sfondo.


StyleBox tab_disabled 🔗

Lo stile delle schede disabilitate.


StyleBox tab_focus 🔗

Lo StyleBox utilizzato quando il TabBar è focalizzato. Lo StyleBox di tab_focus è visualizzato sopra lo StyleBox di base, quindi è necessario utilizzare uno StyleBox parzialmente trasparente per garantire che lo StyleBox di base rimanga visibile. Uno StyleBox che rappresenta un contorno o una sottolineatura funziona bene per questo scopo. Per disabilitare l'effetto visivo del focus, assegna una risorsa StyleBoxEmpty. Tieni presente che disattivare l'effetto visivo di focus ridurrà l'usabilità della navigazione tramite tastiera o controller, perciò non è consigliato per motivi di accessibilità.


StyleBox tab_hovered 🔗

Lo stile della scheda al passaggio del mouse.

Nota: Questo stile sarà disegnato con la stessa larghezza minima di tab_unselected.


StyleBox tab_selected 🔗

Lo stile della scheda attualmente selezionata.


StyleBox tab_unselected 🔗

Lo stile delle altre schede non selezionate.


StyleBox tabbar_background 🔗

Lo stile per il riempimento dello sfondo dell'area del TabBar.