TabContainer¶
继承: Container < Control < Item < 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() 🔗
单击TabContainer的Popup按钮时发出。有关详细信息,请参阅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,则溢出此节点宽度的选项卡将被隐藏,而是显示两个导航按钮。否则,将更新此节点的最小大小,以便所有选项卡都可见。
当前选项卡索引。设置后,此索引的Control节点的可见属性设置为true,所有其他属性设置为false。
值-1表示未选择任何选项卡。
bool deselect_enabled = false 🔗
如果true,则可以取消选择所有选项卡,这样就不会选择任何选项卡。单击current_tab取消选择它。
如果未选择选项卡,则仅显示选项卡标题。
bool drag_to_rearrange_enabled = false 🔗
如果true,则可以使用鼠标拖动重新排列选项卡。
AlignmentMode tab_alignment = 0 🔗
void set_tab_alignment(value: AlignmentMode)
AlignmentMode get_tab_alignment()
设置将放置制表符的位置。有关详细信息,请参阅AlignmentMode。
FocusMode tab_focus_mode = 2 🔗
内部TabBar节点的焦点访问模式。
TabPosition tabs_position = 0 🔗
void set_tabs_position(value: TabPosition)
TabPosition get_tabs_position()
设置选项卡栏的位置。有关详细信息,请参阅TabPosition。
int tabs_rearrange_group = -1 🔗
具有相同重新排列组ID的TabContainer将允许在它们之间拖动选项卡。使用drag_to_rearrange_enabled启用拖动。
将其设置为-1将禁用TabContainers之间的重新排列。
如果true,则选项卡可见。如果false,则隐藏选项卡的内容和标题。
如果true,则隐藏的子Control节点的最小大小将计入总数,而不是仅计入当前可见的节点。
方法说明¶
Control get_current_tab_control() const 🔗
返回位于活动选项卡索引处的子Control节点。
如果已经使用set_popup()设置了Popup节点实例,则返回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 🔗
从索引tab_idx处的选项卡返回Control节点。
返回制表符的数量。
Texture2D get_tab_icon(tab_idx: int) const 🔗
返回索引tab_idx或null处选项卡的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。
如果索引tab_idx处的选项卡隐藏,则返回true。
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) 🔗
在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) 🔗
其他未选择选项卡的字体颜色。
选项卡图标的最大允许宽度。此限制应用于图标的默认大小之上,但在使用TabBar.set_tab_icon_max_width()设置的值之前。高度根据图标的比例进行调整。
选项卡名称与其图标之间的空间。
选项卡文本大纲的大小。
注意:如果使用启用了FontFile.multichannel_signed_distance_field的字体,则其FontFile.msdf_pixel_range必须设置为至少两倍outline_size的值才能使轮廓渲染看起来正确。否则,轮廓可能会比预期的更早被切断。
选项卡栏左边缘或右边缘的空间,相应地与当前tab_alignment。
如果选项卡被裁剪(参见clip_tabs)或设置了弹出窗口(参见set_popup()),则TabBar.ALIGNMENT_RIGHT将忽略边距。TabBar.ALIGNMENT_CENTER总是忽略边距。
用于绘制选项卡名称的字体。
选项卡名称的字体大小。
左箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮被禁用时(即第一个选项卡可见),它看起来是半透明的。
Texture2D decrement_highlight 🔗
左箭头按钮的图标,当标签太多而无法放入容器宽度时出现。当按钮与光标悬停时使用。
显示的图标指示拖动的选项卡将被放置在哪里(参见drag_to_rearrange_enabled)。
右箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮被禁用时(即最后一个选项卡可见),它看起来是半透明的。
Texture2D increment_highlight 🔗
右箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮与光标悬停时使用。
菜单按钮的图标(参见set_popup())。
当光标悬停在菜单按钮上时,菜单按钮的图标(参见set_popup())。
背景填充的样式。
禁用选项卡的样式。
StyleBox在TabBar聚焦时使用。tab_focusStyleBox显示在所选选项卡的底座StyleBox上方,因此应使用部分透明的StyleBox来确保底座StyleBox保持可见。表示轮廓或下划线的StyleBox可以很好地用于此目的。要禁用焦点视觉效果,请分配StyleBoxEmpty资源。请注意,禁用焦点视觉效果会损害键盘/控制器导航可用性,因此出于可访问性原因,不建议这样做。
当前悬停选项卡的样式。
注意:此样式的绘制宽度至少与tab_unselected相同。
当前选定选项卡的样式。
其他未选择选项卡的样式。
TabBar区域的背景填充样式。