TabContainer

继承: Container < Control < Item < Object

为每个子控件创建选项卡的容器,仅显示活动选项卡的控件。

描述

将子控件排列到选项卡式视图中,为每个控件创建一个选项卡。活动选项卡的相应控件可见,而所有其他子控件隐藏。忽略非控件子控件。

注意:可点击标签的绘制由该节点处理;不需要TabBar

属性

方法

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: Item)

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

单击TabContainerPopup按钮时发出。有关详细信息,请参阅set_popup()


tab_button_pressed(tab: int) 🔗

当用户单击此选项卡上的按钮图标时发出。


tab_changed(tab: int) 🔗

切换到另一个选项卡时发出。


tab_clicked(tab: int) 🔗

单击选项卡时发出,即使它是当前选项卡。


tab_hovered(tab: int) 🔗

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


tab_selected(tab: int) 🔗

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


枚举

enum TabPosition: 🔗

TabPosition POSITION_TOP = 0

将标签栏放在顶部。

TabPosition POSITION_BOTTOM = 1

将标签栏放在底部。标签栏的StyleBox将垂直翻转。

TabPosition POSITION_MAX = 2

表示TabPosition枚举的大小。


属性说明

bool all_tabs_in_front = false 🔗

  • void set_all_tabs_in_front(value: bool)

  • bool is_all_tabs_in_front()

如果true,则在面板前面绘制所有选项卡。如果false,则在面板后面绘制非活动选项卡。


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

当前选项卡索引。设置后,此索引的Control节点的可见属性设置为true,所有其他属性设置为false

-1表示未选择任何选项卡。


bool deselect_enabled = false 🔗

  • void set_deselect_enabled(value: bool)

  • bool get_deselect_enabled()

如果true,则可以取消选择所有选项卡,这样就不会选择任何选项卡。单击current_tab取消选择它。

如果未选择选项卡,则仅显示选项卡标题。


bool drag_to_rearrange_enabled = false 🔗

  • void set_drag_to_rearrange_enabled(value: bool)

  • bool get_drag_to_rearrange_enabled()

如果true,则可以使用鼠标拖动重新排列选项卡。


AlignmentMode tab_alignment = 0 🔗

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


FocusMode tab_focus_mode = 2 🔗

内部TabBar节点的焦点访问模式。


TabPosition tabs_position = 0 🔗

设置选项卡栏的位置。有关详细信息,请参阅TabPosition


int tabs_rearrange_group = -1 🔗

  • void set_tabs_rearrange_group(value: int)

  • int get_tabs_rearrange_group()

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

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


bool tabs_visible = true 🔗

  • void set_tabs_visible(value: bool)

  • bool are_tabs_visible()

如果true,则选项卡可见。如果false,则隐藏选项卡的内容和标题。


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

如果true,则隐藏的子Control节点的最小大小将计入总数,而不是仅计入当前可见的节点。


方法说明

Control get_current_tab_control() const 🔗

返回位于活动选项卡索引处的子Control节点。


Popup get_popup() const 🔗

如果已经使用set_popup()设置了Popup节点实例,则返回Popup节点实例。

警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果您希望隐藏它或它的任何子节点,请使用它们的Window.visible属性。


int get_previous_tab() const 🔗

返回先前活动的选项卡索引。


TabBar get_tab_bar() const 🔗

返回此容器中包含的TabBar

警告:这是必需的内部节点,删除和释放它或编辑其选项卡可能会导致崩溃。如果您想编辑选项卡,请使用TabContainer中提供的方法。


Texture2D get_tab_button_icon(tab_idx: int) const 🔗

从索引tab_idx处的选项卡返回按钮图标。


Control get_tab_control(tab_idx: int) const 🔗

从索引tab_idx处的选项卡返回Control节点。


int get_tab_count() const 🔗

返回制表符的数量。


Texture2D get_tab_icon(tab_idx: int) const 🔗

返回索引tab_idxnull处选项卡的Texture2D,如果选项卡没有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 🔗

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

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


bool is_tab_hidden(tab_idx: int) const 🔗

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


bool select_next_available() 🔗

选择索引大于当前选定索引的第一个可用选项卡。如果选项卡选择更改,则返回true


bool select_previous_available() 🔗

选择索引低于当前选择的第一个可用选项卡。如果选项卡选择更改,则返回true


void set_popup(popup: Item) 🔗

如果在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) 🔗

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


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

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


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

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

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

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


int icon_max_width = 0 🔗

选项卡图标的最大允许宽度。此限制应用于图标的默认大小之上,但在使用TabBar.set_tab_icon_max_width()设置的值之前。高度根据图标的比例进行调整。


int icon_separation = 4 🔗

选项卡名称与其图标之间的空间。


int outline_size = 0 🔗

选项卡文本大纲的大小。

注意:如果使用启用了FontFile.multichannel_signed_distance_field的字体,则其FontFile.msdf_pixel_range必须设置为至少两倍outline_size的值才能使轮廓渲染看起来正确。否则,轮廓可能会比预期的更早被切断。


int side_margin = 8 🔗

选项卡栏左边缘或右边缘的空间,相应地与当前tab_alignment

如果选项卡被裁剪(参见clip_tabs)或设置了弹出窗口(参见set_popup()),则TabBar.ALIGNMENT_RIGHT将忽略边距。TabBar.ALIGNMENT_CENTER总是忽略边距。


Font font 🔗

用于绘制选项卡名称的字体。


int font_size 🔗

选项卡名称的字体大小。


Texture2D decrement 🔗

左箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮被禁用时(即第一个选项卡可见),它看起来是半透明的。


Texture2D decrement_highlight 🔗

左箭头按钮的图标,当标签太多而无法放入容器宽度时出现。当按钮与光标悬停时使用。


Texture2D drop_mark 🔗

显示的图标指示拖动的选项卡将被放置在哪里(参见drag_to_rearrange_enabled)。


Texture2D increment 🔗

右箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮被禁用时(即最后一个选项卡可见),它看起来是半透明的。


Texture2D increment_highlight 🔗

右箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮与光标悬停时使用。


Texture2D menu 🔗

菜单按钮的图标(参见set_popup())。


Texture2D menu_highlight 🔗

当光标悬停在菜单按钮上时,菜单按钮的图标(参见set_popup())。


StyleBox panel 🔗

背景填充的样式。


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 🔗

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


StyleBox tabbar_background 🔗

TabBar区域的背景填充样式。