Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
TabBar¶
继承: Control < CanvasItem < Node < Object
提供水平选项卡栏的控件。
描述¶
提供水平选项卡栏的控件。类似于 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
将禁用 TabBar 之间的重新排列。
方法说明¶
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 🔗
返回索引为 tab_idx
的选项卡的元数据的值,由 set_tab_metadata 设置。如果之前没有设置元数据,则默认返回 null
。