TabBar

Наследует: Control < CanvasItem < Node < Object

Элемент управления, представляющий собой горизонтальную панель с вкладками.

Описание

Элемент управления, который предоставляет горизонтальную панель с вкладками. Похож на TabContainer, но отвечает только за отрисовку вкладок, не взаимодействуя с дочерними элементами.

Свойства

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

int

tabs_rearrange_group

-1

Методы

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)

Свойства темы

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


Сигналы

active_tab_rearranged(idx_to: int) 🔗

Выдается, когда активная вкладка перестраивается с помощью перетаскивания мышью. См. drag_to_rearrange_enabled.


tab_button_pressed(tab: int) 🔗

Вызывается при нажатии правой кнопки вкладки. См. set_tab_button_icon().


tab_changed(tab: int) 🔗

Возникает при переключении на другую вкладку.


tab_clicked(tab: int) 🔗

Выдается при нажатии на вкладку, даже если это текущая вкладка.


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

Выдается при наведении указателя мыши на вкладку.


tab_rmb_clicked(tab: int) 🔗

Emitted when a tab is right-clicked.


tab_selected(tab: int) 🔗

Испускается при выборе вкладки с помощью щелчка, направленного ввода или скрипта, даже если это текущая вкладка.


Перечисления

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

Представляет размер перечисления AlignmentMode.


enum CloseButtonDisplayPolicy: 🔗

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_NEVER = 0

Никогда не показывать кнопки закрытия.

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_ACTIVE_ONLY = 1

Показывать кнопку закрытия только на активной в данный момент вкладке.

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_ALWAYS = 2

Показывать кнопку закрытия на всех вкладках.

CloseButtonDisplayPolicy CLOSE_BUTTON_MAX = 3

Представляет размер перечисления CloseButtonDisplayPolicy.


Описания свойств

bool clip_tabs = true 🔗

  • void set_clip_tabs(value: bool)

  • bool get_clip_tabs()

Если true, вкладки, выходящие за пределы ширины этого узла, будут скрыты, отображая вместо этого две кнопки навигации. В противном случае минимальный размер этого узла обновляется так, чтобы все вкладки были видны.


bool close_with_middle_mouse = true 🔗

  • void set_close_with_middle_mouse(value: bool)

  • bool get_close_with_middle_mouse()

If true, middle-clicking on a tab will emit the tab_close_pressed signal.


int current_tab = -1 🔗

  • void set_current_tab(value: int)

  • int get_current_tab()

Индекс текущей выбранной вкладки. Значение -1 означает, что вкладка не выбрана, и может быть установлено только тогда, когда deselect_enabled равно true или если все вкладки скрыты или отключены.


bool deselect_enabled = false 🔗

  • void set_deselect_enabled(value: bool)

  • bool get_deselect_enabled()

Если true, все вкладки могут быть отменены, так что ни одна вкладка не будет выбрана. Щелкните по текущей вкладке, чтобы отменить ее выбор.


bool drag_to_rearrange_enabled = false 🔗

  • void set_drag_to_rearrange_enabled(value: bool)

  • bool get_drag_to_rearrange_enabled()

Если true, вкладки можно переставлять перетаскиванием мыши.


int max_tab_width = 0 🔗

  • void set_max_tab_width(value: int)

  • int get_max_tab_width()

Устанавливает максимальную ширину, которой должны быть ограничены все вкладки. Неограниченно, если установлено значение 0.


bool scroll_to_selected = true 🔗

  • void set_scroll_to_selected(value: bool)

  • bool get_scroll_to_selected()

Если true, смещение вкладки будет изменено, чтобы сохранить видимой текущую выбранную вкладку.


bool scrolling_enabled = true 🔗

  • void set_scrolling_enabled(value: bool)

  • bool get_scrolling_enabled()

если true, колесо прокрутки мыши можно использовать для навигации по прокручиваемому виду.


bool select_with_rmb = false 🔗

  • void set_select_with_rmb(value: bool)

  • bool get_select_with_rmb()

Если true, позволяет выбрать вкладку правой кнопкой мыши.


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 🔗

Когда на вкладках появится кнопка закрытия.


int tab_count = 0 🔗

  • void set_tab_count(value: int)

  • int get_tab_count()

Количество вкладок, находящихся в данный момент на панели.


int tabs_rearrange_group = -1 🔗

  • void set_tabs_rearrange_group(value: int)

  • int get_tabs_rearrange_group()

TabBar с одинаковым идентификатором группы перестановки позволят перетаскивать вкладки между ними. Включите перетаскивание с помощью drag_to_rearrange_enabled.

Установка этого значения в -1 отключит перестановку между TabBar.


Описания метода

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

Добавляет новую вкладку.


void clear_tabs() 🔗

Очищает все вкладки.


void ensure_tab_visible(idx: int) 🔗

Перемещает вид прокрутки, чтобы сделать вкладку видимой.


bool get_offset_buttons_visible() const 🔗

Возвращает true, если кнопки смещения (те, которые появляются, когда недостаточно места для всех вкладок) видны.


int get_previous_tab() const 🔗

Возвращает индекс предыдущей активной вкладки.


Texture2D get_tab_button_icon(tab_idx: int) const 🔗

Возвращает значок для правой кнопки вкладки с индексом tab_idx или null, если у правой кнопки нет значка.


Texture2D get_tab_icon(tab_idx: int) const 🔗

Возвращает значок для вкладки с индексом tab_idx или null, если у вкладки нет значка.


int get_tab_icon_max_width(tab_idx: int) const 🔗

Возвращает максимально допустимую ширину значка для вкладки с индексом tab_idx.


int get_tab_idx_at_point(point: Vector2) const 🔗

Возвращает индекс вкладки в локальных координатах point. Возвращает -1, если точка находится за пределами границ элемента управления или если в запрошенной позиции нет вкладки.


String get_tab_language(tab_idx: int) const 🔗

Возвращает код языка заголовка вкладки.


Variant get_tab_metadata(tab_idx: int) const 🔗

Возвращает значение метаданных, заданное для вкладки с индексом tab_idx, используя set_tab_metadata(). Если ранее метаданные не были заданы, по умолчанию возвращается null.


int get_tab_offset() const 🔗

Возвращает количество скрытых вкладок, смещенных влево.


Rect2 get_tab_rect(tab_idx: int) const 🔗

Возвращает Rect2 вкладки с локальным положением и размером.


TextDirection get_tab_text_direction(tab_idx: int) const 🔗

Возвращает базовое направление написания текста заголовка вкладки.


String get_tab_title(tab_idx: int) const 🔗

Возвращает заголовок вкладки по индексу tab_idx.


String get_tab_tooltip(tab_idx: int) const 🔗

Возвращает текст всплывающей подсказки вкладки с индексом tab_idx.


bool is_tab_disabled(tab_idx: int) const 🔗

Возвращает true, если вкладка с индексом tab_idx отключена.


bool is_tab_hidden(tab_idx: int) const 🔗

Возвращает true, если вкладка с индексом tab_idx скрыта.


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

Перемещает вкладку из from в to.


void remove_tab(tab_idx: int) 🔗

Удаляет вкладку с индексом tab_idx.


bool select_next_available() 🔗

Выбирает первую доступную вкладку с большим индексом, чем выбранная в данный момент. Возвращает true, если выбор вкладки изменился.


bool select_previous_available() 🔗

Выбирает первую доступную вкладку с индексом ниже текущего выбранного. Возвращает true, если выбор вкладки изменился.


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

Устанавливает icon для кнопки вкладки с индексом tab_idx (расположенной справа, перед кнопкой закрытия), делая ее видимой и нажимаемой (см. tab_button_pressed). Присвоение ей значения null скроет кнопку.


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

Если disabled равен true, отключает вкладку с индексом tab_idx, делая ее неинтерактивной.


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

Если hidden равен true, скрывает вкладку с индексом tab_idx, заставляя ее исчезнуть из области вкладок.


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

Устанавливает icon для вкладки с индексом tab_idx.


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

Устанавливает максимально допустимую ширину значка для вкладки с индексом tab_idx. Это ограничение применяется поверх размера значка по умолчанию и поверх icon_max_width. Высота регулируется в соответствии с соотношением значка.


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

Устанавливает значение метаданных для вкладки с индексом tab_idx, которое можно получить позже с помощью get_tab_metadata().


void set_tab_text_direction(tab_idx: int, direction: TextDirection) 🔗

Устанавливает направление написания заголовка вкладки.


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

Устанавливает title для вкладки с индексом tab_idx.


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

Устанавливает tooltip для вкладки с индексом tab_idx.

Примечание: По умолчанию, если tooltip пуст и текст вкладки обрезан (не все символы помещаются во вкладку), заголовок будет отображаться как всплывающая подсказка. Чтобы скрыть всплывающую подсказку, назначьте " " в качестве текста tooltip.


Описания свойств темы

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

Цвет модуляции для значка drop_mark.


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

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 🔗

Горизонтальное разделение между элементами внутри вкладок.


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 🔗

Максимально допустимая ширина значка вкладки. Это ограничение применяется поверх размера значка по умолчанию, но до значения, установленного с помощью set_tab_icon_max_width(). Высота регулируется в соответствии с соотношением значка.


int outline_size = 0 🔗

Размер контура текста вкладки.

Примечание: При использовании шрифта с включенным FontFile.multichannel_signed_distance_field его FontFile.msdf_pixel_range должен быть установлен как минимум в дважды больше значения outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.


int tab_separation = 0 🔗

Пространство между вкладками на панели вкладок.


Font font 🔗

Шрифт, используемый для отображения названий вкладок.


int font_size 🔗

Размер шрифта названий вкладок.


Texture2D close 🔗

Значок для кнопки закрытия (см. tab_close_display_policy).


Texture2D decrement 🔗

Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Когда кнопка отключена (т.е. видна первая вкладка), она выглядит полупрозрачной.


Texture2D decrement_highlight 🔗

Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор.


Texture2D drop_mark 🔗

Значок, показывающий, куда будет перемещена перетаскиваемая вкладка (см. drag_to_rearrange_enabled).


Texture2D increment 🔗

Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы вписаться в ширину контейнера. Когда кнопка отключена (т.е. видна последняя вкладка), она становится полупрозрачной.


Texture2D increment_highlight 🔗

Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор.


StyleBox button_highlight 🔗

Фон вкладки и кнопок закрытия при наведении на них курсора.


StyleBox button_pressed 🔗

Фон вкладки и кнопки закрытия при нажатии.


StyleBox tab_disabled 🔗

Стиль отключенных вкладок.


StyleBox tab_focus 🔗

StyleBox используется, когда TabBar находится в фокусе. tab_focus StyleBox отображается над базовой StyleBox выбранной вкладки, поэтому следует использовать частично прозрачный StyleBox, чтобы базовый StyleBox оставался видимым. StyleBox представляющий контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте ресурс StyleBoxEmpty. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.


StyleBox tab_hovered 🔗

Стиль текущей наведенной вкладки. Не применяется к выбранной вкладке.

Примечание: Этот стиль будет отрисован с той же шириной, что и tab_unselected как минимум.


StyleBox tab_selected 🔗

Стиль текущей выбранной вкладки.


StyleBox tab_unselected 🔗

Стиль остальных, невыбранных вкладок.