Files
godot-docs-l10n/classes/zh_Hans/class_tabcontainer.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

1268 lines
60 KiB
ReStructuredText

:github_url: hide
.. _class_TabContainer:
TabContainer
============
**继承:** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
会为每个子控件创建一个选项卡的容器,只会显示活动选项卡对应的控件。
.. rst-class:: classref-introduction-group
描述
----
以选项卡视图排列子控件,为每个子控件创建一个选项卡。活动选项卡对应的控件可见,其他子控件都会被隐藏。非控件子节点会被忽略。
\ **注意:**\ 可点击的选项卡是由这个节点负责绘制的;不需要 :ref:`TabBar<class_TabBar>`\ 。
.. rst-class:: classref-introduction-group
教程
----
- :doc:`使用容器 <../tutorials/ui/gui_containers>`
.. rst-class:: classref-reftable-group
属性
----
.. table::
:widths: auto
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`all_tabs_in_front<class_TabContainer_property_all_tabs_in_front>` | ``false`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`clip_tabs<class_TabContainer_property_clip_tabs>` | ``true`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`int<class_int>` | :ref:`current_tab<class_TabContainer_property_current_tab>` | ``-1`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`deselect_enabled<class_TabContainer_property_deselect_enabled>` | ``false`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>` | ``false`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`switch_on_drag_hover<class_TabContainer_property_switch_on_drag_hover>` | ``true`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` | :ref:`tab_alignment<class_TabContainer_property_tab_alignment>` | ``0`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`FocusMode<enum_Control_FocusMode>` | :ref:`tab_focus_mode<class_TabContainer_property_tab_focus_mode>` | ``2`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`TabPosition<enum_TabContainer_TabPosition>` | :ref:`tabs_position<class_TabContainer_property_tabs_position>` | ``0`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`int<class_int>` | :ref:`tabs_rearrange_group<class_TabContainer_property_tabs_rearrange_group>` | ``-1`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`tabs_visible<class_TabContainer_property_tabs_visible>` | ``true`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`use_hidden_tabs_for_min_size<class_TabContainer_property_use_hidden_tabs_for_min_size>` | ``false`` |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Control<class_Control>` | :ref:`get_current_tab_control<class_TabContainer_method_get_current_tab_control>`\ (\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Popup<class_Popup>` | :ref:`get_popup<class_TabContainer_method_get_popup>`\ (\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_previous_tab<class_TabContainer_method_get_previous_tab>`\ (\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`TabBar<class_TabBar>` | :ref:`get_tab_bar<class_TabContainer_method_get_tab_bar>`\ (\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`get_tab_button_icon<class_TabContainer_method_get_tab_button_icon>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Control<class_Control>` | :ref:`get_tab_control<class_TabContainer_method_get_tab_control>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_tab_count<class_TabContainer_method_get_tab_count>`\ (\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`get_tab_icon<class_TabContainer_method_get_tab_icon>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_tab_icon_max_width<class_TabContainer_method_get_tab_icon_max_width>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_tab_idx_at_point<class_TabContainer_method_get_tab_idx_at_point>`\ (\ point\: :ref:`Vector2<class_Vector2>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_tab_idx_from_control<class_TabContainer_method_get_tab_idx_from_control>`\ (\ control\: :ref:`Control<class_Control>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_tab_metadata<class_TabContainer_method_get_tab_metadata>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_tab_title<class_TabContainer_method_get_tab_title>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_tab_tooltip<class_TabContainer_method_get_tab_tooltip>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_tab_disabled<class_TabContainer_method_is_tab_disabled>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_tab_hidden<class_TabContainer_method_is_tab_hidden>`\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`select_next_available<class_TabContainer_method_select_next_available>`\ (\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`select_previous_available<class_TabContainer_method_select_previous_available>`\ (\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_popup<class_TabContainer_method_set_popup>`\ (\ popup\: :ref:`Node<class_Node>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_button_icon<class_TabContainer_method_set_tab_button_icon>`\ (\ tab_idx\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_disabled<class_TabContainer_method_set_tab_disabled>`\ (\ tab_idx\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_hidden<class_TabContainer_method_set_tab_hidden>`\ (\ tab_idx\: :ref:`int<class_int>`, hidden\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_icon<class_TabContainer_method_set_tab_icon>`\ (\ tab_idx\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_icon_max_width<class_TabContainer_method_set_tab_icon_max_width>`\ (\ tab_idx\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_metadata<class_TabContainer_method_set_tab_metadata>`\ (\ tab_idx\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_title<class_TabContainer_method_set_tab_title>`\ (\ tab_idx\: :ref:`int<class_int>`, title\: :ref:`String<class_String>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_tab_tooltip<class_TabContainer_method_set_tab_tooltip>`\ (\ tab_idx\: :ref:`int<class_int>`, tooltip\: :ref:`String<class_String>`\ ) |
+-----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
主题属性
--------
.. table::
:widths: auto
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`drop_mark_color<class_TabContainer_theme_color_drop_mark_color>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_disabled_color<class_TabContainer_theme_color_font_disabled_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_hovered_color<class_TabContainer_theme_color_font_hovered_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TabContainer_theme_color_font_outline_color>` | ``Color(0, 0, 0, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TabContainer_theme_color_font_selected_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_unselected_color<class_TabContainer_theme_color_font_unselected_color>` | ``Color(0.7, 0.7, 0.7, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`icon_disabled_color<class_TabContainer_theme_color_icon_disabled_color>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`icon_hovered_color<class_TabContainer_theme_color_icon_hovered_color>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`icon_selected_color<class_TabContainer_theme_color_icon_selected_color>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`icon_unselected_color<class_TabContainer_theme_color_icon_unselected_color>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`icon_max_width<class_TabContainer_theme_constant_icon_max_width>` | ``0`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`icon_separation<class_TabContainer_theme_constant_icon_separation>` | ``4`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`outline_size<class_TabContainer_theme_constant_outline_size>` | ``0`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`side_margin<class_TabContainer_theme_constant_side_margin>` | ``8`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`tab_separation<class_TabContainer_theme_constant_tab_separation>` | ``0`` |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Font<class_Font>` | :ref:`font<class_TabContainer_theme_font_font>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`font_size<class_TabContainer_theme_font_size_font_size>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`decrement<class_TabContainer_theme_icon_decrement>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`decrement_highlight<class_TabContainer_theme_icon_decrement_highlight>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`drop_mark<class_TabContainer_theme_icon_drop_mark>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`increment<class_TabContainer_theme_icon_increment>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`increment_highlight<class_TabContainer_theme_icon_increment_highlight>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`menu<class_TabContainer_theme_icon_menu>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`menu_highlight<class_TabContainer_theme_icon_menu_highlight>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_TabContainer_theme_style_panel>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`tab_disabled<class_TabContainer_theme_style_tab_disabled>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`tab_focus<class_TabContainer_theme_style_tab_focus>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`tab_hovered<class_TabContainer_theme_style_tab_hovered>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`tab_selected<class_TabContainer_theme_style_tab_selected>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`tab_unselected<class_TabContainer_theme_style_tab_unselected>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`tabbar_background<class_TabContainer_theme_style_tabbar_background>` | |
+-----------------------------------+------------------------------------------------------------------------------------+-------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
信号
----
.. _class_TabContainer_signal_active_tab_rearranged:
.. rst-class:: classref-signal
**active_tab_rearranged**\ (\ idx_to\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabContainer_signal_active_tab_rearranged>`
通过鼠标拖动重新排列活动选项卡时发出。见 :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_signal_pre_popup_pressed:
.. rst-class:: classref-signal
**pre_popup_pressed**\ (\ ) :ref:`🔗<class_TabContainer_signal_pre_popup_pressed>`
单击 **TabContainer**:ref:`Popup<class_Popup>` 按钮时发出。有关详细信息,请参阅 :ref:`set_popup()<class_TabContainer_method_set_popup>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_signal_tab_button_pressed:
.. rst-class:: classref-signal
**tab_button_pressed**\ (\ tab\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabContainer_signal_tab_button_pressed>`
用户点击该选项卡上的按钮图标时发出。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_signal_tab_changed:
.. rst-class:: classref-signal
**tab_changed**\ (\ tab\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabContainer_signal_tab_changed>`
切换到另一个选项卡时发出。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_signal_tab_clicked:
.. rst-class:: classref-signal
**tab_clicked**\ (\ tab\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabContainer_signal_tab_clicked>`
单击选项卡时发出,即使它是当前选项卡。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_signal_tab_hovered:
.. rst-class:: classref-signal
**tab_hovered**\ (\ tab\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabContainer_signal_tab_hovered>`
当鼠标悬停选项卡时发出。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_signal_tab_selected:
.. rst-class:: classref-signal
**tab_selected**\ (\ tab\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabContainer_signal_tab_selected>`
通过点击、定向输入或脚本选中某个选项卡时发出,即便该选项卡本来就是当前选项卡。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
枚举
----
.. _enum_TabContainer_TabPosition:
.. rst-class:: classref-enumeration
enum **TabPosition**: :ref:`🔗<enum_TabContainer_TabPosition>`
.. _class_TabContainer_constant_POSITION_TOP:
.. rst-class:: classref-enumeration-constant
:ref:`TabPosition<enum_TabContainer_TabPosition>` **POSITION_TOP** = ``0``
将选项卡置于顶部。
.. _class_TabContainer_constant_POSITION_BOTTOM:
.. rst-class:: classref-enumeration-constant
:ref:`TabPosition<enum_TabContainer_TabPosition>` **POSITION_BOTTOM** = ``1``
将选项卡置于底部。选项卡栏的 :ref:`StyleBox<class_StyleBox>` 会垂直翻转。
.. _class_TabContainer_constant_POSITION_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`TabPosition<enum_TabContainer_TabPosition>` **POSITION_MAX** = ``2``
代表 :ref:`TabPosition<enum_TabContainer_TabPosition>` 枚举的大小。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
属性说明
--------
.. _class_TabContainer_property_all_tabs_in_front:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **all_tabs_in_front** = ``false`` :ref:`🔗<class_TabContainer_property_all_tabs_in_front>`
.. rst-class:: classref-property-setget
- |void| **set_all_tabs_in_front**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_all_tabs_in_front**\ (\ )
如果为 ``true``\ ,所有选项卡都会被绘制在面板之前。如果为 ``false``\ ,未激活的选项卡会被绘制在面板之后。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_clip_tabs:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **clip_tabs** = ``true`` :ref:`🔗<class_TabContainer_property_clip_tabs>`
.. rst-class:: classref-property-setget
- |void| **set_clip_tabs**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_clip_tabs**\ (\ )
如果为 ``true``\ ,则会隐藏超出该节点宽度的选项卡,改为显示两个导航按钮。否则,会更新该节点的最小尺寸,让所有选项卡均可见。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_current_tab:
.. rst-class:: classref-property
:ref:`int<class_int>` **current_tab** = ``-1`` :ref:`🔗<class_TabContainer_property_current_tab>`
.. rst-class:: classref-property-setget
- |void| **set_current_tab**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_current_tab**\ (\ )
当前选项卡的索引。设置后,此索引的 :ref:`Control<class_Control>` 节点的 ``visible`` 属性会被设为 ``true``\ ,其他所有都设置为 ``false``\ 。
设为 ``-1`` 表示不选中任何选项卡。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_deselect_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **deselect_enabled** = ``false`` :ref:`🔗<class_TabContainer_property_deselect_enabled>`
.. rst-class:: classref-property-setget
- |void| **set_deselect_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_deselect_enabled**\ (\ )
如果为 ``true``\ ,则所有选项卡都可以取消选中状态,达到不选中任何选项卡的状态。点击 :ref:`current_tab<class_TabContainer_property_current_tab>` 取消选中。
未选中任何选项卡时只会显示选项卡头。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_drag_to_rearrange_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **drag_to_rearrange_enabled** = ``false`` :ref:`🔗<class_TabContainer_property_drag_to_rearrange_enabled>`
.. rst-class:: classref-property-setget
- |void| **set_drag_to_rearrange_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_drag_to_rearrange_enabled**\ (\ )
如果为 ``true``\ ,可以通过鼠标拖动重新排列选项卡。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_switch_on_drag_hover:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **switch_on_drag_hover** = ``true`` :ref:`🔗<class_TabContainer_property_switch_on_drag_hover>`
.. rst-class:: classref-property-setget
- |void| **set_switch_on_drag_hover**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_switch_on_drag_hover**\ (\ )
If ``true``, hovering over a tab while dragging something will switch to that tab. Does not have effect when hovering another tab to rearrange.
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_tab_alignment:
.. rst-class:: classref-property
:ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **tab_alignment** = ``0`` :ref:`🔗<class_TabContainer_property_tab_alignment>`
.. rst-class:: classref-property-setget
- |void| **set_tab_alignment**\ (\ value\: :ref:`AlignmentMode<enum_TabBar_AlignmentMode>`\ )
- :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **get_tab_alignment**\ (\ )
选项卡的放置位置。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_tab_focus_mode:
.. rst-class:: classref-property
:ref:`FocusMode<enum_Control_FocusMode>` **tab_focus_mode** = ``2`` :ref:`🔗<class_TabContainer_property_tab_focus_mode>`
.. rst-class:: classref-property-setget
- |void| **set_tab_focus_mode**\ (\ value\: :ref:`FocusMode<enum_Control_FocusMode>`\ )
- :ref:`FocusMode<enum_Control_FocusMode>` **get_tab_focus_mode**\ (\ )
内部 :ref:`TabBar<class_TabBar>` 节点的焦点访问模式。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_tabs_position:
.. rst-class:: classref-property
:ref:`TabPosition<enum_TabContainer_TabPosition>` **tabs_position** = ``0`` :ref:`🔗<class_TabContainer_property_tabs_position>`
.. rst-class:: classref-property-setget
- |void| **set_tabs_position**\ (\ value\: :ref:`TabPosition<enum_TabContainer_TabPosition>`\ )
- :ref:`TabPosition<enum_TabContainer_TabPosition>` **get_tabs_position**\ (\ )
The horizontal alignment of the tabs.
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_tabs_rearrange_group:
.. rst-class:: classref-property
:ref:`int<class_int>` **tabs_rearrange_group** = ``-1`` :ref:`🔗<class_TabContainer_property_tabs_rearrange_group>`
.. rst-class:: classref-property-setget
- |void| **set_tabs_rearrange_group**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_tabs_rearrange_group**\ (\ )
具有相同重新排列组 ID 的 **TabContainer** 将允许在它们之间拖动选项卡。使用 :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>` 启用拖动。
将该属性设置为 ``-1`` 将禁用 **TabContainer** 之间的重新排列。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_tabs_visible:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **tabs_visible** = ``true`` :ref:`🔗<class_TabContainer_property_tabs_visible>`
.. rst-class:: classref-property-setget
- |void| **set_tabs_visible**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **are_tabs_visible**\ (\ )
如果为 ``true``\ ,选项卡可见。如果 ``false``\ ,选项卡的内容和标题被隐藏。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_property_use_hidden_tabs_for_min_size:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **use_hidden_tabs_for_min_size** = ``false`` :ref:`🔗<class_TabContainer_property_use_hidden_tabs_for_min_size>`
.. rst-class:: classref-property-setget
- |void| **set_use_hidden_tabs_for_min_size**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_use_hidden_tabs_for_min_size**\ (\ )
如果为 ``true``\ ,隐藏的子 :ref:`Control<class_Control>` 节点在总数中考虑其最小大小,而不是仅考虑当前可见的一个。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_TabContainer_method_get_current_tab_control:
.. rst-class:: classref-method
:ref:`Control<class_Control>` **get_current_tab_control**\ (\ ) |const| :ref:`🔗<class_TabContainer_method_get_current_tab_control>`
返回位于活动选项卡索引处的子 :ref:`Control<class_Control>` 节点。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_popup:
.. rst-class:: classref-method
:ref:`Popup<class_Popup>` **get_popup**\ (\ ) |const| :ref:`🔗<class_TabContainer_method_get_popup>`
如果已经使用 :ref:`set_popup()<class_TabContainer_method_set_popup>` 设置了 :ref:`Popup<class_Popup>` 节点实例,则返回该节点实例。
\ **警告:**\ 这是一个必需的内部节点,移除和释放它可能会导致崩溃。如果希望隐藏它或它的任何子项,请使用它们的 :ref:`Window.visible<class_Window_property_visible>` 属性。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_previous_tab:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_previous_tab**\ (\ ) |const| :ref:`🔗<class_TabContainer_method_get_previous_tab>`
返回上一个活动选项卡的索引。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_bar:
.. rst-class:: classref-method
:ref:`TabBar<class_TabBar>` **get_tab_bar**\ (\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_bar>`
返回这个容器中包含的 :ref:`TabBar<class_TabBar>`\ 。
\ **警告:**\ 这是一个必需的内部节点,对其进行移除和释放或者编辑其中的选项卡可能会导致崩溃。如果你想编辑选项卡,请使用 **TabContainer** 提供的方法。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_button_icon:
.. rst-class:: classref-method
:ref:`Texture2D<class_Texture2D>` **get_tab_button_icon**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_button_icon>`
返回索引为 ``tab_idx`` 的选项卡的按钮图标。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_control:
.. rst-class:: classref-method
:ref:`Control<class_Control>` **get_tab_control**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_control>`
返回索引为 ``tab_idx`` 的选项卡的 :ref:`Control<class_Control>` 节点。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_tab_count**\ (\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_count>`
返回选项卡的数量。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_icon:
.. rst-class:: classref-method
:ref:`Texture2D<class_Texture2D>` **get_tab_icon**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_icon>`
返回索引 ``tab_idx`` 处选项卡的 :ref:`Texture2D<class_Texture2D>`\ ,如果该选项卡没有 :ref:`Texture2D<class_Texture2D>`\ ,则返回 ``null``\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_icon_max_width:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_tab_icon_max_width**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_icon_max_width>`
设置索引为 ``tab_idx`` 处选项卡所允许的最大图标宽度。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_idx_at_point:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_tab_idx_at_point**\ (\ point\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_idx_at_point>`
返回位于局部坐标 ``point`` 处的选项卡的索引。如果该点在控件边界之外或查询位置没有选项卡,则返回 ``-1``\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_idx_from_control:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_tab_idx_from_control**\ (\ control\: :ref:`Control<class_Control>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_idx_from_control>`
返回与给定的 ``control`` 绑定的标签的索引。该控件必须为 **TabContainer** 的子节点。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_metadata:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_tab_metadata**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_metadata>`
返回索引为 ``tab_idx`` 的选项卡的元数据的值,由 :ref:`set_tab_metadata()<class_TabContainer_method_set_tab_metadata>` 设置。如果之前没有设置元数据,则默认返回 ``null``\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_title:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_tab_title**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_title>`
返回索引 ``tab_idx`` 处选项卡的标题。选项卡的标题默认为索引子节点的名称,但可以用 :ref:`set_tab_title()<class_TabContainer_method_set_tab_title>` 覆盖。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_get_tab_tooltip:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_tab_tooltip**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_get_tab_tooltip>`
返回索引 ``tab_idx`` 处的选项卡的工具提示文本。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_is_tab_disabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_tab_disabled**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_is_tab_disabled>`
如果索引 ``tab_idx`` 处的选项卡被禁用,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_is_tab_hidden:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_tab_hidden**\ (\ tab_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TabContainer_method_is_tab_hidden>`
如果索引 ``tab_idx`` 处的选项卡被隐藏,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_select_next_available:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **select_next_available**\ (\ ) :ref:`🔗<class_TabContainer_method_select_next_available>`
选择索引大于当前所选选项卡索引的第一个可用选项卡。如果选项卡选择发生改变,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_select_previous_available:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **select_previous_available**\ (\ ) :ref:`🔗<class_TabContainer_method_select_previous_available>`
选择索引低于当前所选选项卡索引的第一个可用选项卡。如果选项卡选择发生改变,则返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_popup:
.. rst-class:: classref-method
|void| **set_popup**\ (\ popup\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_TabContainer_method_set_popup>`
如果在一个 :ref:`Popup<class_Popup>` 节点实例上设置,则一个弹出菜单图标会出现在该 **TabContainer** 的右上角(将其设置为 ``null`` 将使其消失)。点击它将展开该 :ref:`Popup<class_Popup>` 节点。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_button_icon:
.. rst-class:: classref-method
|void| **set_tab_button_icon**\ (\ tab_idx\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_button_icon>`
设置索引为 ``tab_idx`` 的选项卡的按钮图标。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_disabled:
.. rst-class:: classref-method
|void| **set_tab_disabled**\ (\ tab_idx\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_disabled>`
如果 ``disabled````true``\ ,则禁用索引 ``tab_idx`` 处的选项卡,使其不可交互。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_hidden:
.. rst-class:: classref-method
|void| **set_tab_hidden**\ (\ tab_idx\: :ref:`int<class_int>`, hidden\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_hidden>`
如果 ``hidden````true``\ ,则隐藏索引 ``tab_idx`` 处的选项卡,使其从选项卡区域消失。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_icon:
.. rst-class:: classref-method
|void| **set_tab_icon**\ (\ tab_idx\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_icon>`
设置索引为 ``tab_idx`` 的选项卡的图标。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_icon_max_width:
.. rst-class:: classref-method
|void| **set_tab_icon_max_width**\ (\ tab_idx\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_icon_max_width>`
设置索引为 ``tab_idx`` 处选项卡所允许的最大图标宽度。这是在图标的默认大小和 :ref:`icon_max_width<class_TabContainer_theme_constant_icon_max_width>` 的基础上的限制。高度会根据图标的长宽比调整。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_metadata:
.. rst-class:: classref-method
|void| **set_tab_metadata**\ (\ tab_idx\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_metadata>`
``tab_idx`` 的选项卡设置元数据的值,之后可以使用 :ref:`get_tab_metadata()<class_TabContainer_method_get_tab_metadata>` 获取。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_title:
.. rst-class:: classref-method
|void| **set_tab_title**\ (\ tab_idx\: :ref:`int<class_int>`, title\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_title>`
为索引 ``tab_idx`` 处的选项卡设置自定义标题(选项卡标题默认为索引子节点的名称)。将其设置回孩子的名字,使选项卡再次默认为该名字。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_method_set_tab_tooltip:
.. rst-class:: classref-method
|void| **set_tab_tooltip**\ (\ tab_idx\: :ref:`int<class_int>`, tooltip\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TabContainer_method_set_tab_tooltip>`
设置索引 ``tab_idx`` 的选项卡的自定义工具提示文本。
\ **注意:**\ 默认情况下,如果 ``tooltip`` 为空而选项卡文本发生了裁剪(选项卡无法完整显示所有字符),那么就会将标题作为工具提示显示。要隐藏工具提示,请将 ``tooltip`` 文本设置为 ``" "``\ 。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
主题属性说明
------------
.. _class_TabContainer_theme_color_drop_mark_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **drop_mark_color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_TabContainer_theme_color_drop_mark_color>`
:ref:`drop_mark<class_TabContainer_theme_icon_drop_mark>` 图标的调制颜色。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_font_disabled_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_disabled_color** = ``Color(0.875, 0.875, 0.875, 0.5)`` :ref:`🔗<class_TabContainer_theme_color_font_disabled_color>`
禁用选项卡的字体颜色。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_font_hovered_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_hovered_color** = ``Color(0.95, 0.95, 0.95, 1)`` :ref:`🔗<class_TabContainer_theme_color_font_hovered_color>`
当前悬停选项卡的字体颜色。不适用于选中的选项卡。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_font_outline_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_outline_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_TabContainer_theme_color_font_outline_color>`
选项卡名称的文本轮廓的色调。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_font_selected_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_selected_color** = ``Color(0.95, 0.95, 0.95, 1)`` :ref:`🔗<class_TabContainer_theme_color_font_selected_color>`
当前所选选项卡的字体颜色。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_font_unselected_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_unselected_color** = ``Color(0.7, 0.7, 0.7, 1)`` :ref:`🔗<class_TabContainer_theme_color_font_unselected_color>`
其他未被选中的选项卡的字体颜色。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_icon_disabled_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **icon_disabled_color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_TabContainer_theme_color_icon_disabled_color>`
Icon color of disabled tabs.
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_icon_hovered_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **icon_hovered_color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_TabContainer_theme_color_icon_hovered_color>`
Icon color of the currently hovered tab. Does not apply to the selected tab.
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_icon_selected_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **icon_selected_color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_TabContainer_theme_color_icon_selected_color>`
Icon color of the currently selected tab.
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_color_icon_unselected_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **icon_unselected_color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_TabContainer_theme_color_icon_unselected_color>`
Icon color of the other, unselected tabs.
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_constant_icon_max_width:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **icon_max_width** = ``0`` :ref:`🔗<class_TabContainer_theme_constant_icon_max_width>`
选项卡图标所允许的最大宽度。这个限制应用在该图标默认大小之上,但是应用在 :ref:`TabBar.set_tab_icon_max_width()<class_TabBar_method_set_tab_icon_max_width>` 所设置的值之前。高度会根据图标比例调整。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_constant_icon_separation:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **icon_separation** = ``4`` :ref:`🔗<class_TabContainer_theme_constant_icon_separation>`
选项卡名称与其图标之间的间距。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_constant_outline_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **outline_size** = ``0`` :ref:`🔗<class_TabContainer_theme_constant_outline_size>`
选项卡文字轮廓的大小。
\ **注意:**\ 如果使用启用了 :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` 的字体,其 :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` 必须至少设置为 :ref:`outline_size<class_TabContainer_theme_constant_outline_size>` 的\ *两倍*\ ,轮廓渲染才能看起来正确。否则,轮廓可能会比预期的更早被切断。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_constant_side_margin:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **side_margin** = ``8`` :ref:`🔗<class_TabContainer_theme_constant_side_margin>`
标签栏左侧或右侧边缘的间距,取决于当前的 :ref:`tab_alignment<class_TabContainer_property_tab_alignment>`\ 。
如果标签页被裁剪(见 :ref:`clip_tabs<class_TabContainer_property_clip_tabs>`\ )或者设置了弹出框(见 :ref:`set_popup()<class_TabContainer_method_set_popup>`\ ),则会忽略 :ref:`TabBar.ALIGNMENT_RIGHT<class_TabBar_constant_ALIGNMENT_RIGHT>` 的边距。使用 :ref:`TabBar.ALIGNMENT_CENTER<class_TabBar_constant_ALIGNMENT_CENTER>` 时始终忽略边距。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_constant_tab_separation:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **tab_separation** = ``0`` :ref:`🔗<class_TabContainer_theme_constant_tab_separation>`
选项卡栏中选项卡的间距。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_font_font:
.. rst-class:: classref-themeproperty
:ref:`Font<class_Font>` **font** :ref:`🔗<class_TabContainer_theme_font_font>`
用于绘制选项卡名称的字体。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_font_size_font_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **font_size** :ref:`🔗<class_TabContainer_theme_font_size_font_size>`
选项卡名称的字体大小。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_icon_decrement:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **decrement** :ref:`🔗<class_TabContainer_theme_icon_decrement>`
左边的箭头按钮的图标,当有太多的标签无法容纳在容器的宽度内时出现。当该按钮被禁用时(即第一个标签是可见的),它显示为半透明的。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_icon_decrement_highlight:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **decrement_highlight** :ref:`🔗<class_TabContainer_theme_icon_decrement_highlight>`
当标签太多无法适应容器宽度时出现的左箭头按钮图标。当鼠标悬停在按钮上时使用。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_icon_drop_mark:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **drop_mark** :ref:`🔗<class_TabContainer_theme_icon_drop_mark>`
图标,用于指示拖动的选项卡将被放置到哪里(见 :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>`\ )。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_icon_increment:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **increment** :ref:`🔗<class_TabContainer_theme_icon_increment>`
右箭头按钮的图标,当有太多的标签无法容纳在容器的宽度内时出现。当该按钮被禁用时(即最后一个标签是可见的),它显示为半透明的。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_icon_increment_highlight:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **increment_highlight** :ref:`🔗<class_TabContainer_theme_icon_increment_highlight>`
当标签太多无法适应容器宽度时出现的右箭头按钮图标。当鼠标悬停在按钮上时使用。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_icon_menu:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **menu** :ref:`🔗<class_TabContainer_theme_icon_menu>`
菜单按钮的图标(见 :ref:`set_popup()<class_TabContainer_method_set_popup>`\ )。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_icon_menu_highlight:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **menu_highlight** :ref:`🔗<class_TabContainer_theme_icon_menu_highlight>`
当光标悬停时菜单按钮的图标(见 :ref:`set_popup()<class_TabContainer_method_set_popup>`\ )。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_style_panel:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **panel** :ref:`🔗<class_TabContainer_theme_style_panel>`
背景填充的样式。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_style_tab_disabled:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **tab_disabled** :ref:`🔗<class_TabContainer_theme_style_tab_disabled>`
选项卡处于禁用状态时的样式。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_style_tab_focus:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **tab_focus** :ref:`🔗<class_TabContainer_theme_style_tab_focus>`
:ref:`TabBar<class_TabBar>` 处于聚焦状态时使用的 :ref:`StyleBox<class_StyleBox>`\ 。\ :ref:`tab_focus<class_TabContainer_theme_style_tab_focus>` :ref:`StyleBox<class_StyleBox>` 显示在基础 :ref:`StyleBox<class_StyleBox>` *之上*\ ,所以应该使用部分透明的 :ref:`StyleBox<class_StyleBox>`\ ,确保基础 :ref:`StyleBox<class_StyleBox>` 仍然可见。代表轮廓或下划线的 :ref:`StyleBox<class_StyleBox>` 可以很好地实现这个目的。要禁用聚焦的视觉效果,请指定 :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` 资源。请注意,禁用聚焦的视觉效果会影响使用键盘/手柄进行导航的可用性,所以出于可访问性的原因,不建议这样做。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_style_tab_hovered:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **tab_hovered** :ref:`🔗<class_TabContainer_theme_style_tab_hovered>`
当前悬停的选项卡的样式。
\ **注意:**\ 该样式将至少以与 :ref:`tab_unselected<class_TabContainer_theme_style_tab_unselected>` 相同的宽度绘制。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_style_tab_selected:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **tab_selected** :ref:`🔗<class_TabContainer_theme_style_tab_selected>`
当前选中的选项卡的样式。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_style_tab_unselected:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **tab_unselected** :ref:`🔗<class_TabContainer_theme_style_tab_unselected>`
其他未被选中的选项卡的样式。
.. rst-class:: classref-item-separator
----
.. _class_TabContainer_theme_style_tabbar_background:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **tabbar_background** :ref:`🔗<class_TabContainer_theme_style_tabbar_background>`
:ref:`TabBar<class_TabBar>` 区域的背景填充样式。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
.. |void| replace:: :abbr:`void (无返回值。)`