TabBar¶
提供带有选项卡的水平条的控件。
描述¶
提供带有选项卡的水平条的控件。类似于TabContainer,但只负责绘制选项卡,不与孩子交互。
属性¶
|
||
|
||
|
||
|
||
focus_mode |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法¶
主题属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
信号¶
active_tab_rearranged(idx_to: int) 🔗
通过鼠标拖动重新排列活动标签时发出。参见drag_to_rearrange_enabled。
tab_button_pressed(tab: int) 🔗
按下制表符的右键时发出。参见set_tab_button_icon()。
切换到另一个选项卡时发出。
单击选项卡时发出,即使它是当前选项卡。
当按下标签页的关闭按钮时发出。
注意: 按下关闭按钮后,标签页不会自动移除,此行为需要手动编程实现。例如:
$TabBar.tab_close_pressed.connect($TabBar.remove_tab)
GetNode<TabBar>("TabBar").TabClosePressed += GetNode<TabBar>("TabBar").RemoveTab;
当标签被鼠标悬停时发出。
右键单击选项卡时发出。必须启用select_with_rmb。
当通过单击、定向输入或脚本选择选项卡时发出,即使它是当前选项卡。
枚举¶
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枚举的大小。
属性说明¶
如果true,则溢出此节点宽度的选项卡将被隐藏,而是显示两个导航按钮。否则,将更新此节点的最小大小,以便所有选项卡都可见。
当前选定选项卡的索引。值-1表示没有选择选项卡,并且只能在deselect_enabled为true或所有选项卡都被隐藏或禁用时设置。
bool deselect_enabled = false 🔗
如果true,则可以取消选择所有选项卡,以便不选择任何选项卡。单击当前选项卡以取消选择它。
bool drag_to_rearrange_enabled = false 🔗
如果true,则可以使用鼠标拖动重新排列选项卡。
设置所有选项卡应限制的最大宽度。如果设置为0,则无限制。
bool scroll_to_selected = true 🔗
如果true,则选项卡偏移量将被更改以保持当前选定的选项卡可见。
bool scrolling_enabled = true 🔗
如果true,则鼠标的滚轮可用于导航滚动视图。
bool select_with_rmb = false 🔗
如果true,则启用使用鼠标右键选择选项卡。
AlignmentMode tab_alignment = 0 🔗
void set_tab_alignment(value: AlignmentMode)
AlignmentMode get_tab_alignment()
设置制表符放置的位置。有关详细信息,请参阅AlignmentMode。
CloseButtonDisplayPolicy tab_close_display_policy = 0 🔗
void set_tab_close_display_policy(value: CloseButtonDisplayPolicy)
CloseButtonDisplayPolicy get_tab_close_display_policy()
设置关闭按钮何时出现在选项卡上。有关详细信息,请参阅CloseButtonDisplayPolicy。
栏中当前的标签数。
int tabs_rearrange_group = -1 🔗
具有相同重新排列组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_idx或null处的选项卡图标。
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。
返回左侧偏移的隐藏标签数。
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。
如果索引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) 🔗
如果disabled为true,则禁用索引tab_idx处的选项卡,使其不可交互。
如果hidden为true,则隐藏索引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) 🔗
其他未选择选项卡的字体颜色。
选项卡内元素之间的水平分隔。
选项卡图标的最大允许宽度。此限制应用于图标的默认大小之上,但在使用set_tab_icon_max_width()设置的值之前。高度根据图标的比例进行调整。
选项卡文本大纲的大小。
注意:如果使用启用了FontFile.multichannel_signed_distance_field的字体,则其FontFile.msdf_pixel_range必须设置为至少两倍outline_size的值才能使轮廓渲染看起来正确。否则,轮廓可能会比预期的更早被切断。
用于绘制选项卡名称的字体。
选项卡名称的字体大小。
关闭按钮的图标(参见tab_close_display_policy)。
左箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮被禁用时(即第一个选项卡可见),它看起来是半透明的。
Texture2D decrement_highlight 🔗
左箭头按钮的图标,当标签太多而无法放入容器宽度时出现。当按钮与光标悬停时使用。
显示的图标指示拖动的选项卡将被放置在哪里(参见drag_to_rearrange_enabled)。
右箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮被禁用时(即最后一个选项卡可见),它看起来是半透明的。
Texture2D increment_highlight 🔗
右箭头按钮的图标,当有太多选项卡无法放入容器宽度时出现。当按钮与光标悬停时使用。
使用光标悬停时选项卡和关闭按钮的背景。
按下选项卡和关闭按钮时的背景。
禁用选项卡的样式。
StyleBox在TabBar聚焦时使用。tab_focusStyleBox显示在所选选项卡的底座StyleBox上方,因此应使用部分透明的StyleBox来确保底座StyleBox保持可见。表示轮廓或下划线的StyleBox可以很好地用于此目的。要禁用焦点视觉效果,请分配StyleBoxEmpty资源。请注意,禁用焦点视觉效果会损害键盘/控制器导航可用性,因此出于可访问性原因,不建议这样做。
当前悬停选项卡的样式。不适用于所选选项卡。
注意:此样式的绘制宽度至少与tab_unselected相同。
当前选定选项卡的样式。
其他未选择选项卡的样式。