Files
godot-docs-l10n/classes/zh_Hant/class_theme.rst

1181 lines
81 KiB
ReStructuredText

:github_url: hide
.. _class_Theme:
Theme
=====
**繼承:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
用於樣式化/皮膚化 :ref:`Control<class_Control>`:ref:`Window<class_Window>` 的資源。
.. rst-class:: classref-introduction-group
說明
----
用於樣式化/皮膚化 :ref:`Control<class_Control>`:ref:`Window<class_Window>` 節點的資源。控制項可以使用本地的主題覆蓋項進行單獨的風格化(見 :ref:`Control.add_theme_color_override()<class_Control_method_add_theme_color_override>`\ ),而主題資源則能夠儲存這些設定,在所有同型別的控制項之間實作共用(例如將所有 :ref:`Button<class_Button>` 都設定為相同的風格)。主題資源可以在整個專案上使用,但你也可以為單獨的一個控件節點分支設定不同的主題資源。為某個控制項節點分配的主題資源不僅會對它自己生效,也會對它的所有直接和間接子節點生效(只要控制項鏈沒有中斷)。
專案範圍的主題請使用 :ref:`ProjectSettings.gui/theme/custom<class_ProjectSettings_property_gui/theme/custom>` 設定,這樣專案中的所有控制項就都能夠使用。
控制項節點的主題請使用 :ref:`Control.theme<class_Control_property_theme>` 設定,這樣該控制項和它的所有直接和間接子節點就都能夠使用。
.. rst-class:: classref-introduction-group
教學
----
- :doc:`GUI 皮膚 <../tutorials/ui/gui_skinning>`
- :doc:`使用主題編輯器 <../tutorials/ui/gui_using_theme_editor>`
.. rst-class:: classref-reftable-group
屬性
----
.. table::
:widths: auto
+---------------------------+--------------------------------------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`default_base_scale<class_Theme_property_default_base_scale>` | ``0.0`` |
+---------------------------+--------------------------------------------------------------------+---------+
| :ref:`Font<class_Font>` | :ref:`default_font<class_Theme_property_default_font>` | |
+---------------------------+--------------------------------------------------------------------+---------+
| :ref:`int<class_int>` | :ref:`default_font_size<class_Theme_property_default_font_size>` | ``-1`` |
+---------------------------+--------------------------------------------------------------------+---------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_type<class_Theme_method_add_type>`\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear<class_Theme_method_clear>`\ (\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_color<class_Theme_method_clear_color>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_constant<class_Theme_method_clear_constant>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_font<class_Theme_method_clear_font>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_font_size<class_Theme_method_clear_font_size>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_icon<class_Theme_method_clear_icon>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_stylebox<class_Theme_method_clear_stylebox>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_theme_item<class_Theme_method_clear_theme_item>`\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_type_variation<class_Theme_method_clear_type_variation>`\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`get_color<class_Theme_method_get_color>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_color_list<class_Theme_method_get_color_list>`\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_color_type_list<class_Theme_method_get_color_type_list>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_constant<class_Theme_method_get_constant>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_constant_list<class_Theme_method_get_constant_list>`\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_constant_type_list<class_Theme_method_get_constant_type_list>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Font<class_Font>` | :ref:`get_font<class_Theme_method_get_font>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_font_list<class_Theme_method_get_font_list>`\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_font_size<class_Theme_method_get_font_size>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_font_size_list<class_Theme_method_get_font_size_list>`\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_font_size_type_list<class_Theme_method_get_font_size_type_list>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_font_type_list<class_Theme_method_get_font_type_list>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`get_icon<class_Theme_method_get_icon>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_icon_list<class_Theme_method_get_icon_list>`\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_icon_type_list<class_Theme_method_get_icon_type_list>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`get_stylebox<class_Theme_method_get_stylebox>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_stylebox_list<class_Theme_method_get_stylebox_list>`\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_stylebox_type_list<class_Theme_method_get_stylebox_type_list>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_theme_item<class_Theme_method_get_theme_item>`\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_theme_item_list<class_Theme_method_get_theme_item_list>`\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, theme_type\: :ref:`String<class_String>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_theme_item_type_list<class_Theme_method_get_theme_item_type_list>`\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_type_list<class_Theme_method_get_type_list>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`StringName<class_StringName>` | :ref:`get_type_variation_base<class_Theme_method_get_type_variation_base>`\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_type_variation_list<class_Theme_method_get_type_variation_list>`\ (\ base_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_color<class_Theme_method_has_color>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_constant<class_Theme_method_has_constant>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_default_base_scale<class_Theme_method_has_default_base_scale>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_default_font<class_Theme_method_has_default_font>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_default_font_size<class_Theme_method_has_default_font_size>`\ (\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_font<class_Theme_method_has_font>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_font_size<class_Theme_method_has_font_size>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_icon<class_Theme_method_has_icon>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_stylebox<class_Theme_method_has_stylebox>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_theme_item<class_Theme_method_has_theme_item>`\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_type_variation<class_Theme_method_is_type_variation>`\ (\ theme_type\: :ref:`StringName<class_StringName>`, base_type\: :ref:`StringName<class_StringName>`\ ) |const| |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`merge_with<class_Theme_method_merge_with>`\ (\ other\: :ref:`Theme<class_Theme>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_type<class_Theme_method_remove_type>`\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_color<class_Theme_method_rename_color>`\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_constant<class_Theme_method_rename_constant>`\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_font<class_Theme_method_rename_font>`\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_font_size<class_Theme_method_rename_font_size>`\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_icon<class_Theme_method_rename_icon>`\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_stylebox<class_Theme_method_rename_stylebox>`\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_theme_item<class_Theme_method_rename_theme_item>`\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`rename_type<class_Theme_method_rename_type>`\ (\ old_theme_type\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_color<class_Theme_method_set_color>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, color\: :ref:`Color<class_Color>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_constant<class_Theme_method_set_constant>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, constant\: :ref:`int<class_int>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_font<class_Theme_method_set_font>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, font\: :ref:`Font<class_Font>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_font_size<class_Theme_method_set_font_size>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, font_size\: :ref:`int<class_int>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_icon<class_Theme_method_set_icon>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, texture\: :ref:`Texture2D<class_Texture2D>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_stylebox<class_Theme_method_set_stylebox>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, texture\: :ref:`StyleBox<class_StyleBox>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_theme_item<class_Theme_method_set_theme_item>`\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, value\: :ref:`Variant<class_Variant>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_type_variation<class_Theme_method_set_type_variation>`\ (\ theme_type\: :ref:`StringName<class_StringName>`, base_type\: :ref:`StringName<class_StringName>`\ ) |
+---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
列舉
----
.. _enum_Theme_DataType:
.. rst-class:: classref-enumeration
enum **DataType**: :ref:`🔗<enum_Theme_DataType>`
.. _class_Theme_constant_DATA_TYPE_COLOR:
.. rst-class:: classref-enumeration-constant
:ref:`DataType<enum_Theme_DataType>` **DATA_TYPE_COLOR** = ``0``
主題的 :ref:`Color<class_Color>` 顏色項型別。
.. _class_Theme_constant_DATA_TYPE_CONSTANT:
.. rst-class:: classref-enumeration-constant
:ref:`DataType<enum_Theme_DataType>` **DATA_TYPE_CONSTANT** = ``1``
主題的常數項型別。
.. _class_Theme_constant_DATA_TYPE_FONT:
.. rst-class:: classref-enumeration-constant
:ref:`DataType<enum_Theme_DataType>` **DATA_TYPE_FONT** = ``2``
主題的 :ref:`Font<class_Font>` 字形項型別。
.. _class_Theme_constant_DATA_TYPE_FONT_SIZE:
.. rst-class:: classref-enumeration-constant
:ref:`DataType<enum_Theme_DataType>` **DATA_TYPE_FONT_SIZE** = ``3``
主題的字形大小項型別。
.. _class_Theme_constant_DATA_TYPE_ICON:
.. rst-class:: classref-enumeration-constant
:ref:`DataType<enum_Theme_DataType>` **DATA_TYPE_ICON** = ``4``
主題的圖示 :ref:`Texture2D<class_Texture2D>` 項型別。
.. _class_Theme_constant_DATA_TYPE_STYLEBOX:
.. rst-class:: classref-enumeration-constant
:ref:`DataType<enum_Theme_DataType>` **DATA_TYPE_STYLEBOX** = ``5``
主題的 :ref:`StyleBox<class_StyleBox>` 專案型別。
.. _class_Theme_constant_DATA_TYPE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`DataType<enum_Theme_DataType>` **DATA_TYPE_MAX** = ``6``
資料型別列舉的最大值。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
屬性說明
--------
.. _class_Theme_property_default_base_scale:
.. rst-class:: classref-property
:ref:`float<class_float>` **default_base_scale** = ``0.0`` :ref:`🔗<class_Theme_property_default_base_scale>`
.. rst-class:: classref-property-setget
- |void| **set_default_base_scale**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_default_base_scale**\ (\ )
該主題資源的預設基礎縮放係數。部分控制項會用它來根據全域縮放係數對其視覺屬性進行縮放。如果該值為 ``0.0``\ ,則使用全域縮放係數(見 :ref:`ThemeDB.fallback_base_scale<class_ThemeDB_property_fallback_base_scale>`\ )。
請使用 :ref:`has_default_base_scale()<class_Theme_method_has_default_base_scale>` 來檢查該值是否有效。
.. rst-class:: classref-item-separator
----
.. _class_Theme_property_default_font:
.. rst-class:: classref-property
:ref:`Font<class_Font>` **default_font** :ref:`🔗<class_Theme_property_default_font>`
.. rst-class:: classref-property-setget
- |void| **set_default_font**\ (\ value\: :ref:`Font<class_Font>`\ )
- :ref:`Font<class_Font>` **get_default_font**\ (\ )
該主題資源的預設字形。嘗試獲取字形資源時,如果該主題中不存在或者為無效狀態,則會用它作為預設值。如果預設字形也缺失或無效,則會使用引擎的退回值(見 :ref:`ThemeDB.fallback_font<class_ThemeDB_property_fallback_font>`\ )。
請使用 :ref:`has_default_font()<class_Theme_method_has_default_font>` 來檢查該值是否有效。
.. rst-class:: classref-item-separator
----
.. _class_Theme_property_default_font_size:
.. rst-class:: classref-property
:ref:`int<class_int>` **default_font_size** = ``-1`` :ref:`🔗<class_Theme_property_default_font_size>`
.. rst-class:: classref-property-setget
- |void| **set_default_font_size**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_default_font_size**\ (\ )
The default font size of this theme resource. Used as the default value when trying to fetch a font size value that doesn't exist in this theme or is in invalid state. If the default font size is also missing or invalid, the engine fallback value is used (see :ref:`ThemeDB.fallback_font_size<class_ThemeDB_property_fallback_font_size>`).
Values below ``1`` are invalid and can be used to unset the property. Use :ref:`has_default_font_size()<class_Theme_method_has_default_font_size>` to check if this value is valid.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法說明
--------
.. _class_Theme_method_add_type:
.. rst-class:: classref-method
|void| **add_type**\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_add_type>`
為每一個有效的資料型別都新增一個空主題型別。
\ **注意:**\ 空型別不會隨該主題保存。這個方法的存在是為了對資源執行記憶體中的更改。請使用 ``set_*`` 方法新增主題專案。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear:
.. rst-class:: classref-method
|void| **clear**\ (\ ) :ref:`🔗<class_Theme_method_clear>`
移除在該主題資源上定義的所有主題屬性。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_color:
.. rst-class:: classref-method
|void| **clear_color**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_color>`
如果存在由 ``name````theme_type`` 定義的 :ref:`Color<class_Color>` 屬性,則將其移除。
如果不存在則失敗。請使用 :ref:`has_color()<class_Theme_method_has_color>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_constant:
.. rst-class:: classref-method
|void| **clear_constant**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_constant>`
如果存在由 ``name````theme_type`` 定義的常數屬性,則將其移除。
如果不存在則失敗。請使用 :ref:`has_constant()<class_Theme_method_has_constant>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_font:
.. rst-class:: classref-method
|void| **clear_font**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_font>`
如果存在由 ``name````theme_type`` 定義的 :ref:`Font<class_Font>` 屬性,則將其移除。
如果不存在則失敗。請使用 :ref:`has_font()<class_Theme_method_has_font>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_font_size:
.. rst-class:: classref-method
|void| **clear_font_size**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_font_size>`
如果存在由 ``name````theme_type`` 定義的字形大小屬性,則將其移除。
如果不存在則失敗。請使用 :ref:`has_font_size()<class_Theme_method_has_font_size>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_icon:
.. rst-class:: classref-method
|void| **clear_icon**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_icon>`
如果存在由 ``name````theme_type`` 定義的圖示屬性,則將其移除。
如果不存在則失敗。請使用 :ref:`has_icon()<class_Theme_method_has_icon>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_stylebox:
.. rst-class:: classref-method
|void| **clear_stylebox**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_stylebox>`
如果存在由 ``name````theme_type`` 定義的 :ref:`StyleBox<class_StyleBox>` 屬性,則將其移除。
如果不存在則失敗。請使用 :ref:`has_stylebox()<class_Theme_method_has_stylebox>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_theme_item:
.. rst-class:: classref-method
|void| **clear_theme_item**\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_theme_item>`
如果存在由 ``name````theme_type`` 定義的 ``data_type`` 屬性,則將其移除。
如果不存在則失敗。請使用 :ref:`has_theme_item()<class_Theme_method_has_theme_item>` 檢查是否存在。
\ **注意:**\ 這個方法類似於呼叫相應的資料型別特定方法,但可以用於更通用邏輯。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_clear_type_variation:
.. rst-class:: classref-method
|void| **clear_type_variation**\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_clear_type_variation>`
取消將主題型別 ``theme_type`` 標記為任何主題型別的變種。見 :ref:`set_type_variation()<class_Theme_method_set_type_variation>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_color:
.. rst-class:: classref-method
:ref:`Color<class_Color>` **get_color**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_color>`
如果存在由 ``name````theme_type`` 定義的 :ref:`Color<class_Color>` 屬性,則將其返回。
如果不存在則返回預設顏色。請使用 :ref:`has_color()<class_Theme_method_has_color>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_color_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_color_list**\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_Theme_method_get_color_list>`
返回為 ``theme_type`` 型別定義的 :ref:`Color<class_Color>` 屬性的名稱列表。請使用 :ref:`get_color_type_list()<class_Theme_method_get_color_type_list>` 獲取可能的主題型別名稱。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_color_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_color_type_list**\ (\ ) |const| :ref:`🔗<class_Theme_method_get_color_type_list>`
返回 :ref:`Color<class_Color>` 屬性的所有唯一主題型別名稱的列表。請使用 :ref:`get_type_list()<class_Theme_method_get_type_list>` 獲取所有主題型別。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_constant:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_constant**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_constant>`
如果存在由 ``name````theme_type`` 定義的常數屬性,則將其返回。
如果不存在則返回 ``0``\ 。請使用 :ref:`has_constant()<class_Theme_method_has_constant>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_constant_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_constant_list**\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_Theme_method_get_constant_list>`
返回為 ``theme_type`` 型別定義的常數屬性的名稱列表。請使用 :ref:`get_constant_type_list()<class_Theme_method_get_constant_type_list>` 獲取可能的主題型別名稱。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_constant_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_constant_type_list**\ (\ ) |const| :ref:`🔗<class_Theme_method_get_constant_type_list>`
返回常數屬性的所有唯一主題型別名稱的列表。請使用 :ref:`get_type_list()<class_Theme_method_get_type_list>` 獲取所有主題型別。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_font:
.. rst-class:: classref-method
:ref:`Font<class_Font>` **get_font**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_font>`
如果存在由 ``name````theme_type`` 定義的 :ref:`Font<class_Font>` 屬性,則將其返回。
如果不存在且存在預設主題字形,則返回預設主題字形(見 :ref:`default_font<class_Theme_property_default_font>`\ )。請使用 :ref:`has_font()<class_Theme_method_has_font>` 檢查是否存在,使用 :ref:`has_default_font()<class_Theme_method_has_default_font>` 檢查預設主題字形是否存在。
如果兩者都不存在,則返回引擎的退回字形值(見 :ref:`ThemeDB.fallback_font<class_ThemeDB_property_fallback_font>`\ )。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_font_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_font_list**\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_Theme_method_get_font_list>`
返回為 ``theme_type`` 型別定義的 :ref:`Font<class_Font>` 屬性的名稱列表。請使用 :ref:`get_font_type_list()<class_Theme_method_get_font_type_list>` 獲取可能的主題型別名稱。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_font_size:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_font_size**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_font_size>`
如果存在由 ``name````theme_type`` 定義的字形大小屬性,則將其返回。
如果不存在且存在預設主題字形大小,則返回預設主題字形大小(見 :ref:`default_font_size<class_Theme_property_default_font_size>`\ )。請使用 :ref:`has_font_size()<class_Theme_method_has_font_size>` 檢查是否存在,使用 :ref:`has_default_font_size()<class_Theme_method_has_default_font_size>` 檢查預設主題字形大小是否存在。
如果兩者都不存在,則返回引擎的退回字形大小值(見 :ref:`ThemeDB.fallback_font_size<class_ThemeDB_property_fallback_font_size>`\ )。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_font_size_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_font_size_list**\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_Theme_method_get_font_size_list>`
返回為 ``theme_type`` 型別定義的字形大小屬性的名稱列表。請使用 :ref:`get_font_size_type_list()<class_Theme_method_get_font_size_type_list>` 獲取可能的主題型別名稱。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_font_size_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_font_size_type_list**\ (\ ) |const| :ref:`🔗<class_Theme_method_get_font_size_type_list>`
返回字形大小屬性的所有唯一主題型別名稱的列表。請使用 :ref:`get_type_list()<class_Theme_method_get_type_list>` 獲取所有主題型別。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_font_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_font_type_list**\ (\ ) |const| :ref:`🔗<class_Theme_method_get_font_type_list>`
返回 :ref:`Font<class_Font>` 屬性的所有唯一主題型別名稱的列表。請使用 :ref:`get_type_list()<class_Theme_method_get_type_list>` 獲取所有主題型別。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_icon:
.. rst-class:: classref-method
:ref:`Texture2D<class_Texture2D>` **get_icon**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_icon>`
如果存在由 ``name````theme_type`` 定義的圖示屬性,則將其返回。
如果不存在則返回引擎的退回圖示值(見 :ref:`ThemeDB.fallback_icon<class_ThemeDB_property_fallback_icon>`\ )。請使用 :ref:`has_icon()<class_Theme_method_has_icon>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_icon_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_icon_list**\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_Theme_method_get_icon_list>`
返回為 ``theme_type`` 型別定義的圖示屬性的名稱列表。請使用 :ref:`get_icon_type_list()<class_Theme_method_get_icon_type_list>` 獲取可能的主題型別名稱。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_icon_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_icon_type_list**\ (\ ) |const| :ref:`🔗<class_Theme_method_get_icon_type_list>`
返回圖示屬性的所有唯一主題型別名稱的列表。請使用 :ref:`get_type_list()<class_Theme_method_get_type_list>` 獲取所有主題型別。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_stylebox:
.. rst-class:: classref-method
:ref:`StyleBox<class_StyleBox>` **get_stylebox**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_stylebox>`
如果存在由 ``name````theme_type`` 定義的 :ref:`StyleBox<class_StyleBox>` 屬性,則將其返回。
如果不存在則返回引擎的退回樣式盒值(見 :ref:`ThemeDB.fallback_stylebox<class_ThemeDB_property_fallback_stylebox>`\ )。請使用 :ref:`has_stylebox()<class_Theme_method_has_stylebox>` 檢查是否存在。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_stylebox_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_stylebox_list**\ (\ theme_type\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_Theme_method_get_stylebox_list>`
返回為 ``theme_type`` 型別定義的 :ref:`StyleBox<class_StyleBox>` 屬性的名稱列表。請使用 :ref:`get_stylebox_type_list()<class_Theme_method_get_stylebox_type_list>` 獲取可能的主題型別名稱。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_stylebox_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_stylebox_type_list**\ (\ ) |const| :ref:`🔗<class_Theme_method_get_stylebox_type_list>`
返回 :ref:`StyleBox<class_StyleBox>` 屬性的所有唯一主題型別名稱的列表。請使用 :ref:`get_type_list()<class_Theme_method_get_type_list>` 獲取所有主題型別。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_theme_item:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_theme_item**\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_theme_item>`
如果存在由 ``name````theme_type`` 定義的 ``data_type`` 屬性,則將其返回。
如果不存在則返回引擎的退回值(見 :ref:`ThemeDB<class_ThemeDB>`\ )。請使用 :ref:`has_theme_item()<class_Theme_method_has_theme_item>` 檢查是否存在。
\ **注意:**\ 這個方法類似於呼叫相應的資料型別特定方法,但可以用於更通用邏輯。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_theme_item_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_theme_item_list**\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, theme_type\: :ref:`String<class_String>`\ ) |const| :ref:`🔗<class_Theme_method_get_theme_item_list>`
返回為 ``theme_type`` 型別定義的 ``data_type`` 屬性的名稱列表。請使用 :ref:`get_theme_item_type_list()<class_Theme_method_get_theme_item_type_list>` 獲取可能的主題型別名稱。
\ **注意:**\ 這個方法類似於呼叫相應的資料型別特定方法,但可以用於更通用邏輯。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_theme_item_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_theme_item_type_list**\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`\ ) |const| :ref:`🔗<class_Theme_method_get_theme_item_type_list>`
返回 ``data_type`` 屬性的所有唯一主題型別名稱的列表。請使用 :ref:`get_type_list()<class_Theme_method_get_type_list>` 獲取所有主題型別。
\ **注意:**\ 這個方法類似於呼叫相應的資料型別特定方法,但可以用於更通用邏輯。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_type_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_type_list**\ (\ ) |const| :ref:`🔗<class_Theme_method_get_type_list>`
返回所有唯一主題型別名稱的列表。獲取單一資料型別的唯一主題型別列表請使用對應的 ``get_*_type_list`` 方法。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_type_variation_base:
.. rst-class:: classref-method
:ref:`StringName<class_StringName>` **get_type_variation_base**\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_type_variation_base>`
如果 ``theme_type`` 是有效的變種型別,則返回其基礎主題型別的名稱。否則返回空字串。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_get_type_variation_list:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **get_type_variation_list**\ (\ base_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_get_type_variation_list>`
返回給定基礎型別 ``base_type`` 的所有型別變種列表。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_color:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_color**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_has_color>`
如果主題型別 ``theme_type`` 中存在名為 ``name``:ref:`Color<class_Color>` 屬性,則返回 ``true``\ 。
不存在時返回 ``false``\ 。定義請使用 :ref:`set_color()<class_Theme_method_set_color>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_constant:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_constant**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_has_constant>`
如果主題型別 ``theme_type`` 中存在名為 ``name`` 的常數屬性,則返回 ``true``\ 。
不存在時返回 ``false``\ 。定義請使用 :ref:`set_constant()<class_Theme_method_set_constant>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_default_base_scale:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_default_base_scale**\ (\ ) |const| :ref:`🔗<class_Theme_method_has_default_base_scale>`
如果 :ref:`default_base_scale<class_Theme_property_default_base_scale>` 的值有效,則返回 ``true``\ 。
如果無效則返回 ``false``\ 。有效值必須大於 ``0.0``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_default_font:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_default_font**\ (\ ) |const| :ref:`🔗<class_Theme_method_has_default_font>`
如果 :ref:`default_font<class_Theme_property_default_font>` 的值有效,則返回 ``true``\ 。
如果無效則返回 ``false``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_default_font_size:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_default_font_size**\ (\ ) |const| :ref:`🔗<class_Theme_method_has_default_font_size>`
如果 :ref:`default_font_size<class_Theme_property_default_font_size>` 的值有效,則返回 ``true``\ 。
如果無效則返回 ``false``\ 。有效值必須大於 ``0``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_font:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_font**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_has_font>`
如果主題型別 ``theme_type`` 中存在名為 ``name``:ref:`Font<class_Font>` 屬性,則返回 ``true``\ 。
不存在時返回 ``false``\ 。定義請使用 :ref:`set_font()<class_Theme_method_set_font>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_font_size:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_font_size**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_has_font_size>`
如果主題型別 ``theme_type`` 中存在名為 ``name`` 的字形大小屬性,則返回 ``true``\ 。
不存在時返回 ``false``\ 。定義請使用 :ref:`set_font_size()<class_Theme_method_set_font_size>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_icon:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_icon**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_has_icon>`
如果主題型別 ``theme_type`` 中存在名為 ``name`` 的圖示屬性,則返回 ``true``\ 。
不存在時返回 ``false``\ 。定義請使用 :ref:`set_icon()<class_Theme_method_set_icon>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_stylebox:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_stylebox**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_has_stylebox>`
如果主題型別 ``theme_type`` 中存在名為 ``name``:ref:`StyleBox<class_StyleBox>` 屬性,則返回 ``true``\ 。
不存在時返回 ``false``\ 。定義請使用 :ref:`set_stylebox()<class_Theme_method_set_stylebox>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_has_theme_item:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_theme_item**\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_has_theme_item>`
如果主題型別 ``theme_type`` 中存在名為 ``name`` 的主題屬性,則返回 ``true``\ 。
不存在時返回 ``false``\ 。定義請使用 :ref:`set_theme_item()<class_Theme_method_set_theme_item>`\ 。
\ **注意:**\ 這個方法類似於呼叫相應的資料型別特定方法,但可以用於更通用邏輯。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_is_type_variation:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_type_variation**\ (\ theme_type\: :ref:`StringName<class_StringName>`, base_type\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Theme_method_is_type_variation>`
如果主題型別 ``theme_type`` 被標記為基礎型別 ``base_type`` 的變種,則返回 ``true``\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_merge_with:
.. rst-class:: classref-method
|void| **merge_with**\ (\ other\: :ref:`Theme<class_Theme>`\ ) :ref:`🔗<class_Theme_method_merge_with>`
新增缺失的定義,並使用 ``other`` 主題資源中的值覆蓋已有的定義。
\ **注意:**\ 這修改了目前的主題。如果想將兩個主題合併在一起且不修改任何一個,請建立一個新的空主題,並將其他兩個依次合併到其中。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_remove_type:
.. rst-class:: classref-method
|void| **remove_type**\ (\ theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_remove_type>`
移除該主題型別,優雅地丟棄其中定義的主題專案。如果該型別為變種,則該資訊也會被消除。如果該型別為型別變種的基礎型別,則那些變種會失去其基礎型別。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_color:
.. rst-class:: classref-method
|void| **rename_color**\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_color>`
如果主題型別 ``theme_type`` 中存在名為 ``old_name``:ref:`Color<class_Color>` 屬性,則將其重命名為 ``name``\ 。
不存在時失敗,新名稱已存在時也會失敗。請使用 :ref:`has_color()<class_Theme_method_has_color>` 檢查是否存在,使用 :ref:`clear_color()<class_Theme_method_clear_color>` 移除現有屬性。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_constant:
.. rst-class:: classref-method
|void| **rename_constant**\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_constant>`
如果主題型別 ``theme_type`` 中存在名為 ``old_name`` 的常數屬性,則將其重命名為 ``name``\ 。
不存在時失敗,新名稱已存在時也會失敗。請使用 :ref:`has_constant()<class_Theme_method_has_constant>` 檢查是否存在,使用 :ref:`clear_constant()<class_Theme_method_clear_constant>` 移除現有屬性。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_font:
.. rst-class:: classref-method
|void| **rename_font**\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_font>`
如果主題型別 ``theme_type`` 中存在名為 ``old_name``:ref:`Font<class_Font>` 屬性,則將其重命名為 ``name``\ 。
不存在時失敗,新名稱已存在時也會失敗。請使用 :ref:`has_font()<class_Theme_method_has_font>` 檢查是否存在,使用 :ref:`clear_font()<class_Theme_method_clear_font>` 移除現有屬性。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_font_size:
.. rst-class:: classref-method
|void| **rename_font_size**\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_font_size>`
如果主題型別 ``theme_type`` 中存在名為 ``old_name`` 的字形大小屬性,則將其重命名為 ``name``\ 。
不存在時失敗,新名稱已存在時也會失敗。請使用 :ref:`has_font_size()<class_Theme_method_has_font_size>` 檢查是否存在,使用 :ref:`clear_font_size()<class_Theme_method_clear_font_size>` 移除現有屬性。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_icon:
.. rst-class:: classref-method
|void| **rename_icon**\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_icon>`
如果主題型別 ``theme_type`` 中存在名為 ``old_name`` 的圖示屬性,則將其重命名為 ``name``\ 。
不存在時失敗,新名稱已存在時也會失敗。請使用 :ref:`has_icon()<class_Theme_method_has_icon>` 檢查是否存在,使用 :ref:`clear_icon()<class_Theme_method_clear_icon>` 移除現有屬性。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_stylebox:
.. rst-class:: classref-method
|void| **rename_stylebox**\ (\ old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_stylebox>`
如果主題型別 ``theme_type`` 中存在名為 ``old_name``:ref:`StyleBox<class_StyleBox>` 屬性,則將其重命名為 ``name``\ 。
不存在時失敗,新名稱已存在時也會失敗。請使用 :ref:`has_stylebox()<class_Theme_method_has_stylebox>` 檢查是否存在,使用 :ref:`clear_stylebox()<class_Theme_method_clear_stylebox>` 移除現有屬性。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_theme_item:
.. rst-class:: classref-method
|void| **rename_theme_item**\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, old_name\: :ref:`StringName<class_StringName>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_theme_item>`
如果主題型別 ``theme_type`` 中存在名為 ``old_name`` 的主題屬性,則將其重命名為 ``name``\ 。
不存在時失敗,新名稱已存在時也會失敗。請使用 :ref:`has_theme_item()<class_Theme_method_has_theme_item>` 檢查是否存在,使用 :ref:`clear_theme_item()<class_Theme_method_clear_theme_item>` 移除現有屬性。
\ **注意:**\ 這個方法類似於呼叫相應的資料型別特定方法,但可以用於更通用邏輯。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_rename_type:
.. rst-class:: classref-method
|void| **rename_type**\ (\ old_theme_type\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_rename_type>`
Renames the theme type ``old_theme_type`` to ``theme_type``, if the old type exists and the new one doesn't exist.
\ **Note:** Renaming a theme type to an empty name or a variation to a type associated with a built-in class removes type variation connections in a way that cannot be undone by reversing the rename alone.
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_color:
.. rst-class:: classref-method
|void| **set_color**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_Theme_method_set_color>`
建立或改變由名稱 ``name`` 和主題型別 ``theme_type`` 定義的 :ref:`Color<class_Color>` 屬性的值。移除該屬性請使用 :ref:`clear_color()<class_Theme_method_clear_color>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_constant:
.. rst-class:: classref-method
|void| **set_constant**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, constant\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Theme_method_set_constant>`
建立或改變由名稱 ``name`` 和主題型別 ``theme_type`` 定義的常數屬性的值。移除該屬性請使用 :ref:`clear_constant()<class_Theme_method_clear_constant>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_font:
.. rst-class:: classref-method
|void| **set_font**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, font\: :ref:`Font<class_Font>`\ ) :ref:`🔗<class_Theme_method_set_font>`
建立或改變由名稱 ``name`` 和主題型別 ``theme_type`` 定義的 :ref:`Font<class_Font>` 屬性的值。移除該屬性請使用 :ref:`clear_font()<class_Theme_method_clear_font>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_font_size:
.. rst-class:: classref-method
|void| **set_font_size**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, font_size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Theme_method_set_font_size>`
建立或改變由名稱 ``name`` 和主題型別 ``theme_type`` 定義的字形大小屬性的值。移除該屬性請使用 :ref:`clear_font_size()<class_Theme_method_clear_font_size>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_icon:
.. rst-class:: classref-method
|void| **set_icon**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, texture\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_Theme_method_set_icon>`
建立或改變由名稱 ``name`` 和主題型別 ``theme_type`` 定義的圖示屬性的值。移除該屬性請使用 :ref:`clear_icon()<class_Theme_method_clear_icon>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_stylebox:
.. rst-class:: classref-method
|void| **set_stylebox**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, texture\: :ref:`StyleBox<class_StyleBox>`\ ) :ref:`🔗<class_Theme_method_set_stylebox>`
建立或改變由名稱 ``name`` 和主題型別 ``theme_type`` 定義的 :ref:`StyleBox<class_StyleBox>` 屬性的值。移除該屬性請使用 :ref:`clear_stylebox()<class_Theme_method_clear_stylebox>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_theme_item:
.. rst-class:: classref-method
|void| **set_theme_item**\ (\ data_type\: :ref:`DataType<enum_Theme_DataType>`, name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>`, value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_Theme_method_set_theme_item>`
建立或改變由名稱 ``name`` 和主題型別 ``theme_type`` 定義的主題屬性的值。移除該屬性請使用 :ref:`clear_theme_item()<class_Theme_method_clear_theme_item>`\ 。
如果 ``value`` 的型別不被 ``data_type`` 所接受,則失敗。
\ **注意:**\ 這個方法類似於呼叫相應的資料型別特定方法,但可以用於更通用邏輯。
.. rst-class:: classref-item-separator
----
.. _class_Theme_method_set_type_variation:
.. rst-class:: classref-method
|void| **set_type_variation**\ (\ theme_type\: :ref:`StringName<class_StringName>`, base_type\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Theme_method_set_type_variation>`
將主題型別 ``theme_type`` 標記為基礎型別 ``base_type`` 的變種。
這會將 ``theme_type`` 新增為屬於 ``base_type`` 類的 :ref:`Control<class_Control>`:ref:`Control.theme_type_variation<class_Control_property_theme_type_variation>` 的建議選項。
變種也可以巢狀,即 ``base_type`` 可以是另一個變種。如果變種鏈以配對 :ref:`Control<class_Control>` 類的 ``base_type`` 結束,則整個鏈將被建議為選項。
\ **注意:**\ 僅當該主題資源被設定為專案的預設主題時才會顯示建議。參見 :ref:`ProjectSettings.gui/theme/custom<class_ProjectSettings_property_gui/theme/custom>`\ 。
.. |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 (無回傳值。)`