TabContainer
Наследует: Container < Control < CanvasItem < Node < Object
Контейнер, который создает вкладку для каждого дочернего элемента управления, отображая только элемент управления активной вкладки.
Описание
Упорядочивает дочерние элементы управления в виде вкладок, создавая вкладку для каждого из них. Соответствующий элемент управления активной вкладки становится видимым, а все остальные дочерние элементы управления скрываются. Игнорирует дочерние элементы, не являющиеся элементами управления.
Примечание: Отрисовка вкладок, на которые можно нажимать, обрабатывается этим узлом; TabBar не требуется.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
get_current_tab_control() const |
|
get_popup() const |
|
get_previous_tab() const |
|
get_tab_bar() const |
|
get_tab_button_icon(tab_idx: int) const |
|
get_tab_control(tab_idx: int) const |
|
get_tab_count() const |
|
get_tab_icon(tab_idx: int) const |
|
get_tab_icon_max_width(tab_idx: int) const |
|
get_tab_idx_at_point(point: Vector2) const |
|
get_tab_idx_from_control(control: Control) const |
|
get_tab_metadata(tab_idx: int) const |
|
get_tab_title(tab_idx: int) const |
|
get_tab_tooltip(tab_idx: int) const |
|
is_tab_disabled(tab_idx: int) const |
|
is_tab_hidden(tab_idx: int) const |
|
void |
|
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) |
Свойства темы
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Сигналы
active_tab_rearranged(idx_to: int) 🔗
Выдается, когда активная вкладка перестраивается с помощью перетаскивания мышью. См. drag_to_rearrange_enabled.
pre_popup_pressed() 🔗
Вызывается при нажатии кнопки Popup в TabContainer. Подробности см. в set_popup().
tab_button_pressed(tab: int) 🔗
Вызывается, когда пользователь нажимает на значок кнопки на этой вкладке.
Возникает при переключении на другую вкладку.
Выдается при нажатии на вкладку, даже если это текущая вкладка.
Выдается при наведении указателя мыши на вкладку.
Испускается при выборе вкладки с помощью щелчка, направленного ввода или скрипта, даже если это текущая вкладка.
Перечисления
enum TabPosition: 🔗
TabPosition POSITION_TOP = 0
Размещает панель вкладок вверху.
TabPosition POSITION_BOTTOM = 1
Размещает панель вкладок внизу. StyleBox панели вкладок будет перевернут по вертикали.
TabPosition POSITION_MAX = 2
Представляет размер перечисления TabPosition.
Описания свойств
bool all_tabs_in_front = false 🔗
Если true, все вкладки рисуются перед панелью. Если false, неактивные вкладки рисуются за панелью.
Если true, вкладки, выходящие за пределы ширины этого узла, будут скрыты, отображая вместо этого две кнопки навигации. В противном случае минимальный размер этого узла обновляется так, чтобы все вкладки были видны.
Текущий индекс вкладки. При установке свойство visible узла Control этого индекса устанавливается в true, а все остальные устанавливаются в false.
Значение -1 означает, что вкладка не выбрана.
bool deselect_enabled = false 🔗
Если true, все вкладки можно отменить, чтобы не было выбрано ни одной вкладки. Щелкните current_tab, чтобы отменить его выбор.
Если не выбрано ни одной вкладки, будет отображаться только заголовок вкладки.
bool drag_to_rearrange_enabled = false 🔗
Если true, вкладки можно переставлять перетаскиванием мыши.
bool switch_on_drag_hover = true 🔗
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 🔗
void set_tab_alignment(value: AlignmentMode)
AlignmentMode get_tab_alignment()
Позиция, в которой будут размещены вкладки.
FocusMode tab_focus_mode = 2 🔗
Режим доступа к фокусу для внутреннего узла TabBar.
TabPosition tabs_position = 0 🔗
void set_tabs_position(value: TabPosition)
TabPosition get_tabs_position()
The horizontal alignment of the tabs.
int tabs_rearrange_group = -1 🔗
TabContainer с одинаковым идентификатором группы перестановки позволят перетаскивать вкладки между ними. Включите перетаскивание с помощью drag_to_rearrange_enabled.
Установка этого значения в -1 отключит перестановку между TabContainer.
Если true, вкладки видны. Если false, содержимое и заголовки вкладок скрыты.
Если true, то для скрытых дочерних узлов Control в общем размере учитывается их минимальный размер, а не только текущий видимый размер.
Описания метода
Control get_current_tab_control() const 🔗
Возвращает дочерний узел Control, расположенный по индексу активной вкладки.
Возвращает экземпляр узла Popup, если он уже был установлен с помощью set_popup().
Предупреждение: Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любой из его дочерних элементов, используйте их свойство Window.visible.
int get_previous_tab() const 🔗
Возвращает индекс предыдущей активной вкладки.
Возвращает TabBar, содержащийся в этом контейнере.
Предупреждение: Это обязательный внутренний узел, его удаление и освобождение или редактирование его вкладок может привести к сбою. Если вы хотите редактировать вкладки, используйте методы, предоставленные в TabContainer.
Texture2D get_tab_button_icon(tab_idx: int) const 🔗
Возвращает значок кнопки из вкладки с индексом tab_idx.
Control get_tab_control(tab_idx: int) const 🔗
Возвращает узел Control из вкладки с индексом tab_idx.
Возвращает количество вкладок.
Texture2D get_tab_icon(tab_idx: int) const 🔗
Возвращает Texture2D для вкладки с индексом tab_idx или null, если у вкладки нет Texture2D.
int get_tab_icon_max_width(tab_idx: int) const 🔗
Возвращает максимально допустимую ширину значка для вкладки с индексом tab_idx.
int get_tab_idx_at_point(point: Vector2) const 🔗
Возвращает индекс вкладки в локальных координатах point. Возвращает -1, если точка находится за пределами границ элемента управления или если в запрошенной позиции нет вкладки.
int get_tab_idx_from_control(control: Control) const 🔗
Возвращает индекс вкладки, привязанной к заданному control. Элемент управления должен быть дочерним для TabContainer.
Variant get_tab_metadata(tab_idx: int) const 🔗
Возвращает значение метаданных, заданное для вкладки с индексом tab_idx, используя set_tab_metadata(). Если ранее метаданные не были заданы, по умолчанию возвращается null.
String get_tab_title(tab_idx: int) const 🔗
Возвращает заголовок вкладки по индексу tab_idx. Заголовки вкладок по умолчанию соответствуют имени индексированного дочернего узла, но это можно переопределить с помощью set_tab_title().
String get_tab_tooltip(tab_idx: int) const 🔗
Возвращает текст всплывающей подсказки вкладки с индексом tab_idx.
bool is_tab_disabled(tab_idx: int) const 🔗
Возвращает true, если вкладка с индексом tab_idx отключена.
Возвращает true, если вкладка с индексом tab_idx скрыта.
bool select_next_available() 🔗
Выбирает первую доступную вкладку с большим индексом, чем выбранная в данный момент. Возвращает true, если выбор вкладки изменился.
bool select_previous_available() 🔗
Выбирает первую доступную вкладку с индексом ниже текущего выбранного. Возвращает true, если выбор вкладки изменился.
Если установлено на экземпляре узла Popup, в правом верхнем углу TabContainer появляется значок всплывающего меню (установка его на null заставит его исчезнуть). Щелчок по нему развернет узел Popup.
void set_tab_button_icon(tab_idx: int, icon: Texture2D) 🔗
Устанавливает значок кнопки из вкладки с индексом tab_idx.
void set_tab_disabled(tab_idx: int, disabled: bool) 🔗
Если disabled равен true, отключает вкладку с индексом tab_idx, делая ее неинтерактивной.
Если hidden равен true, скрывает вкладку с индексом tab_idx, заставляя ее исчезнуть из области вкладок.
void set_tab_icon(tab_idx: int, icon: Texture2D) 🔗
Устанавливает значок для вкладки с индексом tab_idx.
void set_tab_icon_max_width(tab_idx: int, width: int) 🔗
Устанавливает максимально допустимую ширину значка для вкладки с индексом tab_idx. Это ограничение применяется поверх размера значка по умолчанию и поверх icon_max_width. Высота регулируется в соответствии с соотношением значка.
void set_tab_metadata(tab_idx: int, metadata: Variant) 🔗
Устанавливает значение метаданных для вкладки с индексом tab_idx, которое можно получить позже с помощью get_tab_metadata().
void set_tab_title(tab_idx: int, title: String) 🔗
Устанавливает пользовательский заголовок для вкладки с индексом tab_idx (заголовки вкладок по умолчанию соответствуют имени индексированного дочернего узла). Установите его обратно к имени дочернего узла, чтобы снова сделать вкладку по умолчанию.
void set_tab_tooltip(tab_idx: int, tooltip: String) 🔗
Устанавливает пользовательский текст подсказки для вкладки с индексом 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.
Максимально допустимая ширина значка вкладки. Это ограничение применяется поверх размера значка по умолчанию, но до значения, установленного с помощью TabBar.set_tab_icon_max_width(). Высота регулируется в соответствии с соотношением значка.
Пробел между названием вкладки и ее значком.
Размер контура текста вкладки.
Примечание: При использовании шрифта с включенным FontFile.multichannel_signed_distance_field его FontFile.msdf_pixel_range должен быть установлен как минимум в дважды больше значения outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.
Пространство слева или справа от панели вкладок, в соответствии с текущим tab_alignment.
Отступ игнорируется с TabBar.ALIGNMENT_RIGHT, если вкладки обрезаны (см. clip_tabs) или установлено всплывающее окно (см. set_popup()). Отступ всегда игнорируется с TabBar.ALIGNMENT_CENTER.
Пространство между вкладками на панели вкладок.
Шрифт, используемый для отображения названий вкладок.
Размер шрифта названий вкладок.
Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Когда кнопка отключена (т.е. видна первая вкладка), она выглядит полупрозрачной.
Texture2D decrement_highlight 🔗
Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор.
Значок, показывающий, куда будет перемещена перетаскиваемая вкладка (см. drag_to_rearrange_enabled).
Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы вписаться в ширину контейнера. Когда кнопка отключена (т.е. видна последняя вкладка), она становится полупрозрачной.
Texture2D increment_highlight 🔗
Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор.
Значок для кнопки меню (см. set_popup()).
Значок кнопки меню (см. set_popup()) при наведении на нее курсора.
Стиль заливки фона.
Стиль отключенных вкладок.
StyleBox используется, когда TabBar находится в фокусе. tab_focus StyleBox отображается над базовой StyleBox выбранной вкладки, поэтому следует использовать частично прозрачный StyleBox, чтобы базовый StyleBox оставался видимым. StyleBox представляющий контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте ресурс StyleBoxEmpty. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.
Стиль текущей вкладки, на которую наведен курсор.
Примечание: Этот стиль будет отрисован с той же шириной, что и tab_unselected как минимум.
Стиль текущей выбранной вкладки.
Стиль остальных, невыбранных вкладок.
Стиль фоновой заливки области TabBar.