TabBar

继承: Control < Item < Object

提供带有选项卡的水平条的控件。

描述

提供带有选项卡的水平条的控件。类似于TabContainer,但只负责绘制选项卡,不与孩子交互。

属性

方法

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)

主题属性


信号

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

当按下标签页的关闭按钮时发出。

注意: 按下关闭按钮后,标签页不会自动移除,此行为需要手动编程实现。例如:

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

tab_hovered(tab: int) 🔗

当标签被鼠标悬停时发出。


tab_rmb_clicked(tab: int) 🔗

右键单击选项卡时发出。必须启用select_with_rmb


tab_selected(tab: int) 🔗

当通过单击、定向输入或脚本选择选项卡时发出,即使它是当前选项卡。


枚举

enum AlignmentMode: 🔗

AlignmentMode ALIGNMENT_LEFT = 0

将制表符放在左侧。

AlignmentMode ALIGNMENT_CENTER = 1

将制表符放在中间。

AlignmentMode ALIGNMENT_RIGHT = 2

将选项卡放在右侧。

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,则溢出此节点宽度的选项卡将被隐藏,而是显示两个导航按钮。否则,将更新此节点的最小大小,以便所有选项卡都可见。


int current_tab = -1 🔗

  • void set_current_tab(value: int)

  • int get_current_tab()

当前选定选项卡的索引。值-1表示没有选择选项卡,并且只能在deselect_enabledtrue或所有选项卡都被隐藏或禁用时设置。


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,则启用使用鼠标右键选择选项卡。


AlignmentMode tab_alignment = 0 🔗

设置制表符放置的位置。有关详细信息,请参阅AlignmentMode


CloseButtonDisplayPolicy tab_close_display_policy = 0 🔗

设置关闭按钮何时出现在选项卡上。有关详细信息,请参阅CloseButtonDisplayPolicy


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

具有相同重新排列组ID的TabBar将允许在它们之间拖动选项卡。使用drag_to_rearrange_enabled启用拖动。

将其设置为-1将禁用TabBars之间的重新排列。


方法说明

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_idxnull处的选项卡图标。


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 🔗

使用set_tab_metadata()返回设置到索引tab_idx处的选项卡的元数据值。如果之前没有设置元数据,则默认返回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 🔗

如果索引tab_idx处的选项卡被禁用,则返回true


bool is_tab_hidden(tab_idx: int) const 🔗

如果索引tab_idx处的选项卡隐藏,则返回true


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

为索引tab_idx处的选项卡按钮设置icon(位于右侧,关闭按钮之前),使其可见且可单击(参见tab_button_pressed)。给它一个null值将隐藏按钮。


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

如果disabledtrue,则禁用索引tab_idx处的选项卡,使其不可交互。


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

如果hiddentrue,则隐藏索引tab_idx处的选项卡,使其从选项卡区域中消失。


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

在索引tab_idx处为选项卡设置icon


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

设置用于换行和文本整形算法的选项卡标题的语言代码,如果留空则使用当前语言环境。


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

为索引tab_idx处的选项卡设置title


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

在索引tab_idx处为选项卡设置tooltip

注意:默认情况下,如果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) 🔗

其他未选择选项卡的字体颜色。


int h_separation = 4 🔗

选项卡内元素之间的水平分隔。


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的值才能使轮廓渲染看起来正确。否则,轮廓可能会比预期的更早被切断。


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 🔗

StyleBoxTabBar聚焦时使用。tab_focusStyleBox显示在所选选项卡的底座StyleBox上方,因此应使用部分透明的StyleBox来确保底座StyleBox保持可见。表示轮廓或下划线的StyleBox可以很好地用于此目的。要禁用焦点视觉效果,请分配StyleBoxEmpty资源。请注意,禁用焦点视觉效果会损害键盘/控制器导航可用性,因此出于可访问性原因,不建议这样做。


StyleBox tab_hovered 🔗

当前悬停选项卡的样式。不适用于所选选项卡。

注意:此样式的绘制宽度至少与tab_unselected相同。


StyleBox tab_selected 🔗

当前选定选项卡的样式。


StyleBox tab_unselected 🔗

其他未选择选项卡的样式。