TabContainer

Inherits: Container < Control < CanvasItem < Node < Object

选项卡容器。

描述

将子 Control 安排在选项卡视图中,为每个控件都创建一个选项卡。活动选项卡对应 Controlvisible 属性会被设为 true,所有其他子节点则为 false

会忽略非 Control 子节点。

注意:可点击的选项卡本身的绘制是由该节点进行的。无需添加 Tabs 作为子节点。

属性

bool

all_tabs_in_front

false

int

current_tab

0

bool

drag_to_rearrange_enabled

false

TabAlign

tab_align

1

bool

tabs_visible

true

bool

use_hidden_tabs_for_min_size

false

方法

Control

get_current_tab_control ( ) const

Popup

get_popup ( ) const

int

get_previous_tab ( ) const

Control

get_tab_control ( int tab_idx ) const

int

get_tab_count ( ) const

bool

get_tab_disabled ( int tab_idx ) const

bool

get_tab_hidden ( int tab_idx ) const

Texture

get_tab_icon ( int tab_idx ) const

int

get_tab_idx_at_point ( Vector2 point ) const

String

get_tab_title ( int tab_idx ) const

int

get_tabs_rearrange_group ( ) const

void

set_popup ( Node popup )

void

set_tab_disabled ( int tab_idx, bool disabled )

void

set_tab_hidden ( int tab_idx, bool hidden )

void

set_tab_icon ( int tab_idx, Texture icon )

void

set_tab_title ( int tab_idx, String title )

void

set_tabs_rearrange_group ( int group_id )

主题属性

Color

font_color_bg

Color( 0.69, 0.69, 0.69, 1 )

Color

font_color_disabled

Color( 0.9, 0.9, 0.9, 0.2 )

Color

font_color_fg

Color( 0.94, 0.94, 0.94, 1 )

int

hseparation

4

int

label_valign_bg

2

int

label_valign_fg

0

int

side_margin

8

int

top_margin

24

Font

font

Texture

decrement

Texture

decrement_highlight

Texture

increment

Texture

increment_highlight

Texture

menu

Texture

menu_highlight

StyleBox

panel

StyleBox

tab_bg

StyleBox

tab_disabled

StyleBox

tab_fg

信号

  • pre_popup_pressed ( )

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


  • tab_changed ( int tab )

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


  • tab_selected ( int tab )

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

枚举

enum TabAlign:

  • ALIGN_LEFT = 0 —- 将选项卡对齐到左侧。

  • ALIGN_CENTER = 1 —- 将选项卡对齐到中心。

  • ALIGN_RIGHT = 2 —- 将标签对齐到右侧。

属性说明

  • bool all_tabs_in_front

Default

false

Setter

set_all_tabs_in_front(value)

Getter

is_all_tabs_in_front()

如果为 true,所有选项卡都会被绘制在面板之前。如果为 false,未激活的选项卡会被绘制在面板之后。


  • int current_tab

Default

0

Setter

set_current_tab(value)

Getter

get_current_tab()

当前标签索引。设置后,此索引的 Control 节点的 visible 属性设置为 true,其他所有设置为 false


  • bool drag_to_rearrange_enabled

Default

false

Setter

set_drag_to_rearrange_enabled(value)

Getter

get_drag_to_rearrange_enabled()

如果 true,可以通过鼠标拖动重新排列选项卡。


Default

1

Setter

set_tab_align(value)

Getter

get_tab_align()

选项卡容器中所有选项卡的对齐方式。有关详细信息,请参阅 TabAlign 常量。


Default

true

Setter

set_tabs_visible(value)

Getter

are_tabs_visible()

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


  • bool use_hidden_tabs_for_min_size

Default

false

Setter

set_use_hidden_tabs_for_min_size(value)

Getter

get_use_hidden_tabs_for_min_size()

如果 true,隐藏的子 Control 节点在总数中考虑其最小大小,而不是仅考虑当前可见的一个。

方法说明

  • Control get_current_tab_control ( ) const

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


  • Popup get_popup ( ) const

如果已通过 set_popup 设置 Popup 节点实例,则返回该实例。

警告: 该节点为必要的内部节点,将其移除或释放可能造成崩溃。如果你希望将其或其子节点隐藏,请使用对应节点的 CanvasItem.visible 属性。


  • int get_previous_tab ( ) const

返回上一个活动选项卡的索引。


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


  • int get_tab_count ( ) const

返回选项卡的数量。


  • bool get_tab_disabled ( int tab_idx ) const

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


  • bool get_tab_hidden ( int tab_idx ) const

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


返回索引 tab_idx 处选项卡的 Texture,如果该选项卡没有 Texture 的话则返回 null


返回位于本地坐标点 point 处的选项卡的索引。如果该点位于控件范围外或者请求位置没有选项卡,则返回 -1


返回索引 tab_idx 处的选项卡的标题。标签标题默认为索引子节点的名称,但这可以用 set_tab_title 覆盖。


  • int get_tabs_rearrange_group ( ) const

返回 TabContainer 重新排列组 ID。


  • void set_popup ( Node popup )

如果在 Popup 节点实例上设置,则在 TabContainer 的右上角会出现一个弹出菜单图标。单击它会展开 Popup 节点。


  • void set_tab_disabled ( int tab_idx, bool disabled )

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


  • void set_tab_hidden ( int tab_idx, bool hidden )

如果 hiddentrue,隐藏位于索引 tab_idx 的选项卡,让它从选项卡区域消失。


为索引 tab_idx 处的选项卡设置图标。


  • void set_tab_title ( int tab_idx, String title )

为索引 tab_idx 处的选项卡设置标题。选项卡标题默认为索引子节点的名称。


  • void set_tabs_rearrange_group ( int group_id )

定义重排组的编号。为不同 TabContainer 设置相同的值,可以允许选项卡在这些 TabContainer 之间拖放。通过 drag_to_rearrange_enabled 启用拖放。

Theme Property Descriptions

Default

Color( 0.69, 0.69, 0.69, 1 )

非活动标签的字体颜色。


  • Color font_color_disabled

Default

Color( 0.9, 0.9, 0.9, 0.2 )

禁用选项卡的字体颜色。


Default

Color( 0.94, 0.94, 0.94, 1 )

当前所选选项卡的字体颜色。


  • int hseparation

Default

4

选项卡之间的水平分离。


  • int label_valign_bg

Default

2


  • int label_valign_fg

Default

0


  • int side_margin

Default

8

标签栏左右边缘的空间。


  • int top_margin

Default

24


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


左边的箭头按钮的图标,当有太多的标签无法容纳在容器的宽度内时出现。当该按钮被禁用时(即第一个标签是可见的),它显示为半透明的。


当标签太多无法适应容器宽度时出现的左箭头按钮图标。当鼠标悬停在按钮上时使用。


右箭头按钮的图标,当有太多的标签无法容纳在容器的宽度内时出现。当该按钮被禁用时(即最后一个标签是可见的),它显示为半透明的。


当标签太多无法适应容器宽度时出现的右箭头按钮图标。当鼠标悬停在按钮上时使用。


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


当光标悬停时菜单按钮的图标(参阅 set_popup)。


背景填充的样式。


非活动选项卡的样式。


禁用标签的样式。


当前所选标签的样式。