:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/RichTextLabel.xml. .. _class_RichTextLabel: RichTextLabel ============= **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` Label that displays rich text. .. rst-class:: classref-introduction-group Description ----------- Rich text can contain custom text, fonts, images and some basic formatting. The label manages these as an internal tag stack. It also adapts itself to given width/heights. \ **Note:** Assignments to :ref:`bbcode_text` clear the tag stack and reconstruct it from the property's contents. Any edits made to :ref:`bbcode_text` will erase previous edits made from other manual sources such as :ref:`append_bbcode` and the ``push_*`` / :ref:`pop` methods. \ **Note:** RichTextLabel doesn't support entangled BBCode tags. For example, instead of using ``[b]bold[i]bold italic[/b]italic[/i]``, use ``[b]bold[i]bold italic[/i][/b][i]italic[/i]``. \ **Note:** ``push_*/pop`` functions won't affect BBCode. \ **Note:** Unlike :ref:`Label`, RichTextLabel doesn't have a *property* to horizontally align text to the center. Instead, enable :ref:`bbcode_enabled` and surround the text in a ``[center]`` tag as follows: ``[center]Example[/center]``. There is currently no built-in way to vertically align text either, but this can be emulated by relying on anchors/containers and the :ref:`fit_content_height` property. \ **Note:** Unicode characters after ``0xffff`` (such as most emoji) are *not* supported on Windows. They will display as unknown characters instead. This will be resolved in Godot 4.0. .. rst-class:: classref-introduction-group Tutorials --------- - :doc:`BBCode in RichTextLabel <../tutorials/ui/bbcode_in_richtextlabel>` - `GUI Rich Text/BBcode Demo `__ - `OS Test Demo `__ .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`bbcode_enabled` | ``false`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`String` | :ref:`bbcode_text` | ``""`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`custom_effects` | ``[ ]`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`deselect_on_focus_loss_enabled` | ``true`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`fit_content_height` | ``false`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`meta_underlined` | ``true`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`override_selected_font_color` | ``false`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`float` | :ref:`percent_visible` | ``1.0`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | rect_clip_content | ``true`` (overrides :ref:`Control`) | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_active` | ``true`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_following` | ``false`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`selection_enabled` | ``false`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`int` | :ref:`tab_size` | ``4`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`String` | :ref:`text` | ``""`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`int` | :ref:`visible_characters` | ``-1`` | +-----------------------------+----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_image` **(** :ref:`Texture` image, :ref:`int` width=0, :ref:`int` height=0, :ref:`InlineAlign` align=2 **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_text` **(** :ref:`String` text **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`append_bbcode` **(** :ref:`String` bbcode **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`deselect` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_content_height` **(** **)** |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_count` **(** **)** |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_selected_text` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_total_character_count` **(** **)** |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`VScrollBar` | :ref:`get_v_scroll` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_visible_line_count` **(** **)** |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`install_effect` **(** :ref:`Variant` effect **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`newline` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`parse_bbcode` **(** :ref:`String` bbcode **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`parse_expressions_for_values` **(** :ref:`PoolStringArray` expressions **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`pop` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_align` **(** :ref:`Align` align **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_bold` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_bold_italics` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_cell` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_color` **(** :ref:`Color` color **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_font` **(** :ref:`Font` font **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_indent` **(** :ref:`int` level **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_italics` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_list` **(** :ref:`ListType` type **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_meta` **(** :ref:`Variant` data **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_mono` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_normal` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_strikethrough` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_table` **(** :ref:`int` columns **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`push_underline` **(** **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`remove_line` **(** :ref:`int` line **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`scroll_to_line` **(** :ref:`int` line **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_table_column_expand` **(** :ref:`int` column, :ref:`bool` expand, :ref:`int` ratio **)** | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Theme Properties ---------------- .. table:: :widths: auto +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`default_color` | ``Color( 1, 1, 1, 1 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_selected` | ``Color( 0.49, 0.49, 0.49, 1 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`font_color_shadow` | ``Color( 0, 0, 0, 0 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Color` | :ref:`selection_color` | ``Color( 0.1, 0.1, 1, 0.8 )`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`line_separation` | ``1`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`shadow_as_outline` | ``0`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`shadow_offset_x` | ``1`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`shadow_offset_y` | ``1`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`table_hseparation` | ``3`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`int` | :ref:`table_vseparation` | ``3`` | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`bold_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`bold_italics_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`italics_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`mono_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`Font` | :ref:`normal_font` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`focus` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ | :ref:`StyleBox` | :ref:`normal` | | +---------------------------------+---------------------------------------------------------------------------------+----------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Signals ------- .. _class_RichTextLabel_signal_meta_clicked: .. rst-class:: classref-signal **meta_clicked** **(** :ref:`Variant` meta **)** Triggered when the user clicks on content between meta tags. If the meta is defined in text, e.g. ``[url={"data"="hi"}]hi[/url]``, then the parameter for this signal will be a :ref:`String` type. If a particular type or an object is desired, the :ref:`push_meta` method must be used to manually insert the data into the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_signal_meta_hover_ended: .. rst-class:: classref-signal **meta_hover_ended** **(** :ref:`Variant` meta **)** Triggers when the mouse exits a meta tag. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_signal_meta_hover_started: .. rst-class:: classref-signal **meta_hover_started** **(** :ref:`Variant` meta **)** Triggers when the mouse enters a meta tag. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerations ------------ .. _enum_RichTextLabel_Align: .. rst-class:: classref-enumeration enum **Align**: .. _class_RichTextLabel_constant_ALIGN_LEFT: .. rst-class:: classref-enumeration-constant :ref:`Align` **ALIGN_LEFT** = ``0`` Makes text left aligned. .. _class_RichTextLabel_constant_ALIGN_CENTER: .. rst-class:: classref-enumeration-constant :ref:`Align` **ALIGN_CENTER** = ``1`` Makes text centered. .. _class_RichTextLabel_constant_ALIGN_RIGHT: .. rst-class:: classref-enumeration-constant :ref:`Align` **ALIGN_RIGHT** = ``2`` Makes text right aligned. .. _class_RichTextLabel_constant_ALIGN_FILL: .. rst-class:: classref-enumeration-constant :ref:`Align` **ALIGN_FILL** = ``3`` Makes text fill width. .. rst-class:: classref-item-separator ---- .. _enum_RichTextLabel_InlineAlign: .. rst-class:: classref-enumeration enum **InlineAlign**: .. _class_RichTextLabel_constant_INLINE_ALIGN_TOP: .. rst-class:: classref-enumeration-constant :ref:`InlineAlign` **INLINE_ALIGN_TOP** = ``0`` Aligns top of the inline image to the top of the text. .. _class_RichTextLabel_constant_INLINE_ALIGN_CENTER: .. rst-class:: classref-enumeration-constant :ref:`InlineAlign` **INLINE_ALIGN_CENTER** = ``1`` Aligns center of the inline image to the center of the text. .. _class_RichTextLabel_constant_INLINE_ALIGN_BASELINE: .. rst-class:: classref-enumeration-constant :ref:`InlineAlign` **INLINE_ALIGN_BASELINE** = ``2`` Aligns bottom of the inline image to the baseline of the text. .. _class_RichTextLabel_constant_INLINE_ALIGN_BOTTOM: .. rst-class:: classref-enumeration-constant :ref:`InlineAlign` **INLINE_ALIGN_BOTTOM** = ``3`` Aligns bottom of the inline image to the bottom of the text. .. rst-class:: classref-item-separator ---- .. _enum_RichTextLabel_ListType: .. rst-class:: classref-enumeration enum **ListType**: .. _class_RichTextLabel_constant_LIST_NUMBERS: .. rst-class:: classref-enumeration-constant :ref:`ListType` **LIST_NUMBERS** = ``0`` Each list item has a number marker. .. _class_RichTextLabel_constant_LIST_LETTERS: .. rst-class:: classref-enumeration-constant :ref:`ListType` **LIST_LETTERS** = ``1`` Each list item has a letter marker. .. _class_RichTextLabel_constant_LIST_DOTS: .. rst-class:: classref-enumeration-constant :ref:`ListType` **LIST_DOTS** = ``2`` Each list item has a filled circle marker. .. rst-class:: classref-item-separator ---- .. _enum_RichTextLabel_ItemType: .. rst-class:: classref-enumeration enum **ItemType**: .. _class_RichTextLabel_constant_ITEM_FRAME: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_FRAME** = ``0`` .. _class_RichTextLabel_constant_ITEM_TEXT: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_TEXT** = ``1`` .. _class_RichTextLabel_constant_ITEM_IMAGE: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_IMAGE** = ``2`` .. _class_RichTextLabel_constant_ITEM_NEWLINE: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_NEWLINE** = ``3`` .. _class_RichTextLabel_constant_ITEM_FONT: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_FONT** = ``4`` .. _class_RichTextLabel_constant_ITEM_COLOR: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_COLOR** = ``5`` .. _class_RichTextLabel_constant_ITEM_UNDERLINE: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_UNDERLINE** = ``6`` .. _class_RichTextLabel_constant_ITEM_STRIKETHROUGH: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_STRIKETHROUGH** = ``7`` .. _class_RichTextLabel_constant_ITEM_ALIGN: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_ALIGN** = ``8`` .. _class_RichTextLabel_constant_ITEM_INDENT: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_INDENT** = ``9`` .. _class_RichTextLabel_constant_ITEM_LIST: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_LIST** = ``10`` .. _class_RichTextLabel_constant_ITEM_TABLE: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_TABLE** = ``11`` .. _class_RichTextLabel_constant_ITEM_FADE: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_FADE** = ``12`` .. _class_RichTextLabel_constant_ITEM_SHAKE: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_SHAKE** = ``13`` .. _class_RichTextLabel_constant_ITEM_WAVE: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_WAVE** = ``14`` .. _class_RichTextLabel_constant_ITEM_TORNADO: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_TORNADO** = ``15`` .. _class_RichTextLabel_constant_ITEM_RAINBOW: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_RAINBOW** = ``16`` .. _class_RichTextLabel_constant_ITEM_CUSTOMFX: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_CUSTOMFX** = ``18`` .. _class_RichTextLabel_constant_ITEM_META: .. rst-class:: classref-enumeration-constant :ref:`ItemType` **ITEM_META** = ``17`` .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_RichTextLabel_property_bbcode_enabled: .. rst-class:: classref-property :ref:`bool` **bbcode_enabled** = ``false`` .. rst-class:: classref-property-setget - void **set_use_bbcode** **(** :ref:`bool` value **)** - :ref:`bool` **is_using_bbcode** **(** **)** If ``true``, the label uses BBCode formatting. \ **Note:** Trying to alter the **RichTextLabel**'s text with :ref:`add_text` will reset this to ``false``. Use instead :ref:`append_bbcode` to preserve BBCode formatting. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_bbcode_text: .. rst-class:: classref-property :ref:`String` **bbcode_text** = ``""`` .. rst-class:: classref-property-setget - void **set_bbcode** **(** :ref:`String` value **)** - :ref:`String` **get_bbcode** **(** **)** The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited. \ **Note:** It is unadvised to use the ``+=`` operator with ``bbcode_text`` (e.g. ``bbcode_text += "some string"``) as it replaces the whole text and can cause slowdowns. It will also erase all BBCode that was added to stack using ``push_*`` methods. Use :ref:`append_bbcode` for adding text instead, unless you absolutely need to close a tag that was opened in an earlier method call. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_custom_effects: .. rst-class:: classref-property :ref:`Array` **custom_effects** = ``[ ]`` .. rst-class:: classref-property-setget - void **set_effects** **(** :ref:`Array` value **)** - :ref:`Array` **get_effects** **(** **)** The currently installed custom effects. This is an array of :ref:`RichTextEffect`\ s. To add a custom effect, it's more convenient to use :ref:`install_effect`. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_deselect_on_focus_loss_enabled: .. rst-class:: classref-property :ref:`bool` **deselect_on_focus_loss_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_deselect_on_focus_loss_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_deselect_on_focus_loss_enabled** **(** **)** If ``true``, the selected text will be deselected when focus is lost. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_fit_content_height: .. rst-class:: classref-property :ref:`bool` **fit_content_height** = ``false`` .. rst-class:: classref-property-setget - void **set_fit_content_height** **(** :ref:`bool` value **)** - :ref:`bool` **is_fit_content_height_enabled** **(** **)** If ``true``, the label's height will be automatically updated to fit its content. \ **Note:** This property is used as a workaround to fix issues with **RichTextLabel** in :ref:`Container`\ s, but it's unreliable in some cases and will be removed in future versions. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_meta_underlined: .. rst-class:: classref-property :ref:`bool` **meta_underlined** = ``true`` .. rst-class:: classref-property-setget - void **set_meta_underline** **(** :ref:`bool` value **)** - :ref:`bool` **is_meta_underlined** **(** **)** If ``true``, the label underlines meta tags such as ``[url]{text}[/url]``. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_override_selected_font_color: .. rst-class:: classref-property :ref:`bool` **override_selected_font_color** = ``false`` .. rst-class:: classref-property-setget - void **set_override_selected_font_color** **(** :ref:`bool` value **)** - :ref:`bool` **is_overriding_selected_font_color** **(** **)** If ``true``, the label uses the custom font color. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_percent_visible: .. rst-class:: classref-property :ref:`float` **percent_visible** = ``1.0`` .. rst-class:: classref-property-setget - void **set_percent_visible** **(** :ref:`float` value **)** - :ref:`float` **get_percent_visible** **(** **)** The range of characters to display, as a :ref:`float` between 0.0 and 1.0. When assigned an out of range value, it's the same as assigning 1.0. \ **Note:** Setting this property updates :ref:`visible_characters` based on current :ref:`get_total_character_count`. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_scroll_active: .. rst-class:: classref-property :ref:`bool` **scroll_active** = ``true`` .. rst-class:: classref-property-setget - void **set_scroll_active** **(** :ref:`bool` value **)** - :ref:`bool` **is_scroll_active** **(** **)** If ``true``, the scrollbar is visible. Setting this to ``false`` does not block scrolling completely. See :ref:`scroll_to_line`. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_scroll_following: .. rst-class:: classref-property :ref:`bool` **scroll_following** = ``false`` .. rst-class:: classref-property-setget - void **set_scroll_follow** **(** :ref:`bool` value **)** - :ref:`bool` **is_scroll_following** **(** **)** If ``true``, the window scrolls down to display new content automatically. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_selection_enabled: .. rst-class:: classref-property :ref:`bool` **selection_enabled** = ``false`` .. rst-class:: classref-property-setget - void **set_selection_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_selection_enabled** **(** **)** If ``true``, the label allows text selection. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_tab_size: .. rst-class:: classref-property :ref:`int` **tab_size** = ``4`` .. rst-class:: classref-property-setget - void **set_tab_size** **(** :ref:`int` value **)** - :ref:`int` **get_tab_size** **(** **)** The number of spaces associated with a single tab length. Does not affect ``\t`` in text tags, only indent tags. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_text: .. rst-class:: classref-property :ref:`String` **text** = ``""`` .. rst-class:: classref-property-setget - void **set_text** **(** :ref:`String` value **)** - :ref:`String` **get_text** **(** **)** The raw text of the label. When set, clears the tag stack and adds a raw text tag to the top of it. Does not parse BBCodes. Does not modify :ref:`bbcode_text`. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_property_visible_characters: .. rst-class:: classref-property :ref:`int` **visible_characters** = ``-1`` .. rst-class:: classref-property-setget - void **set_visible_characters** **(** :ref:`int` value **)** - :ref:`int` **get_visible_characters** **(** **)** The restricted number of characters to display in the label. If ``-1``, all characters will be displayed. \ **Note:** Setting this property updates :ref:`percent_visible` based on current :ref:`get_total_character_count`. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_RichTextLabel_method_add_image: .. rst-class:: classref-method void **add_image** **(** :ref:`Texture` image, :ref:`int` width=0, :ref:`int` height=0, :ref:`InlineAlign` align=2 **)** Adds an image's opening and closing tags to the tag stack, optionally providing a ``width`` and ``height`` to resize the image. If ``width`` or ``height`` is set to 0, the image size will be adjusted in order to keep the original aspect ratio. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_add_text: .. rst-class:: classref-method void **add_text** **(** :ref:`String` text **)** Adds raw non-BBCode-parsed text to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_append_bbcode: .. rst-class:: classref-method :ref:`Error` **append_bbcode** **(** :ref:`String` bbcode **)** Parses ``bbcode`` and adds tags to the tag stack as needed. \ **Note:** Using this method, you can't close a tag that was opened in a previous :ref:`append_bbcode` call. This is done to improve performance, especially when updating large RichTextLabels since rebuilding the whole BBCode every time would be slower. If you absolutely need to close a tag in a future method call, append the :ref:`bbcode_text` instead of using :ref:`append_bbcode`. \ **Note:** This method internals' can't possibly fail, but an error code is returned for backwards compatibility, which will always be :ref:`@GlobalScope.OK`. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_clear: .. rst-class:: classref-method void **clear** **(** **)** Clears the tag stack and sets :ref:`bbcode_text` to an empty string. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_deselect: .. rst-class:: classref-method void **deselect** **(** **)** Clears the current selection. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_get_content_height: .. rst-class:: classref-method :ref:`int` **get_content_height** **(** **)** |const| Returns the height of the content. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_get_line_count: .. rst-class:: classref-method :ref:`int` **get_line_count** **(** **)** |const| Returns the total number of newlines in the tag stack's text tags. Considers wrapped text as one line. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_get_selected_text: .. rst-class:: classref-method :ref:`String` **get_selected_text** **(** **)** Returns the current selection text. Does not include BBCodes. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_get_total_character_count: .. rst-class:: classref-method :ref:`int` **get_total_character_count** **(** **)** |const| Returns the total number of characters from text tags. Does not include BBCodes. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_get_v_scroll: .. rst-class:: classref-method :ref:`VScrollBar` **get_v_scroll** **(** **)** Returns the vertical scrollbar. \ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible` property. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_get_visible_line_count: .. rst-class:: classref-method :ref:`int` **get_visible_line_count** **(** **)** |const| Returns the number of visible lines. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_install_effect: .. rst-class:: classref-method void **install_effect** **(** :ref:`Variant` effect **)** Installs a custom effect. ``effect`` should be a valid :ref:`RichTextEffect`. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_newline: .. rst-class:: classref-method void **newline** **(** **)** Adds a newline tag to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_parse_bbcode: .. rst-class:: classref-method :ref:`Error` **parse_bbcode** **(** :ref:`String` bbcode **)** The assignment version of :ref:`append_bbcode`. Clears the tag stack and inserts the new content. \ **Note:** This method internals' can't possibly fail, but an error code is returned for backwards compatibility, which will always be :ref:`@GlobalScope.OK`. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_parse_expressions_for_values: .. rst-class:: classref-method :ref:`Dictionary` **parse_expressions_for_values** **(** :ref:`PoolStringArray` expressions **)** Parses BBCode parameter ``expressions`` into a dictionary. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_pop: .. rst-class:: classref-method void **pop** **(** **)** Terminates the current tag. Use after ``push_*`` methods to close BBCodes manually. Does not need to follow ``add_*`` methods. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_align: .. rst-class:: classref-method void **push_align** **(** :ref:`Align` align **)** Adds an ``[align]`` tag based on the given ``align`` value. See :ref:`Align` for possible values. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_bold: .. rst-class:: classref-method void **push_bold** **(** **)** Adds a ``[font]`` tag with a bold font to the tag stack. This is the same as adding a ``[b]`` tag if not currently in a ``[i]`` tag. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_bold_italics: .. rst-class:: classref-method void **push_bold_italics** **(** **)** Adds a ``[font]`` tag with a bold italics font to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_cell: .. rst-class:: classref-method void **push_cell** **(** **)** Adds a ``[cell]`` tag to the tag stack. Must be inside a ``[table]`` tag. See :ref:`push_table` for details. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_color: .. rst-class:: classref-method void **push_color** **(** :ref:`Color` color **)** Adds a ``[color]`` tag to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_font: .. rst-class:: classref-method void **push_font** **(** :ref:`Font` font **)** Adds a ``[font]`` tag to the tag stack. Overrides default fonts for its duration. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_indent: .. rst-class:: classref-method void **push_indent** **(** :ref:`int` level **)** Adds an ``[indent]`` tag to the tag stack. Multiplies ``level`` by current :ref:`tab_size` to determine new margin length. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_italics: .. rst-class:: classref-method void **push_italics** **(** **)** Adds a ``[font]`` tag with a italics font to the tag stack. This is the same as adding a ``[i]`` tag if not currently in a ``[b]`` tag. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_list: .. rst-class:: classref-method void **push_list** **(** :ref:`ListType` type **)** Adds a ``[list]`` tag to the tag stack. Similar to the BBCodes ``[ol]`` or ``[ul]``, but supports more list types. Not fully implemented! .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_meta: .. rst-class:: classref-method void **push_meta** **(** :ref:`Variant` data **)** Adds a ``[meta]`` tag to the tag stack. Similar to the BBCode ``[url=something]{text}[/url]``, but supports non-:ref:`String` metadata types. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_mono: .. rst-class:: classref-method void **push_mono** **(** **)** Adds a ``[font]`` tag with a monospace font to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_normal: .. rst-class:: classref-method void **push_normal** **(** **)** Adds a ``[font]`` tag with a normal font to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_strikethrough: .. rst-class:: classref-method void **push_strikethrough** **(** **)** Adds a ``[s]`` tag to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_table: .. rst-class:: classref-method void **push_table** **(** :ref:`int` columns **)** Adds a ``[table=columns]`` tag to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_push_underline: .. rst-class:: classref-method void **push_underline** **(** **)** Adds a ``[u]`` tag to the tag stack. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_remove_line: .. rst-class:: classref-method :ref:`bool` **remove_line** **(** :ref:`int` line **)** Removes a line of content from the label. Returns ``true`` if the line exists. The ``line`` argument is the index of the line to remove, it can take values in the interval ``[0, get_line_count() - 1]``. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_scroll_to_line: .. rst-class:: classref-method void **scroll_to_line** **(** :ref:`int` line **)** Scrolls the window's top line to match ``line``. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_method_set_table_column_expand: .. rst-class:: classref-method void **set_table_column_expand** **(** :ref:`int` column, :ref:`bool` expand, :ref:`int` ratio **)** Edits the selected column's expansion options. If ``expand`` is ``true``, the column expands in proportion to its expansion ratio versus the other columns' ratios. For example, 2 columns with ratios 3 and 4 plus 70 pixels in available width would expand 30 and 40 pixels, respectively. If ``expand`` is ``false``, the column will not contribute to the total ratio. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Theme Property Descriptions --------------------------- .. _class_RichTextLabel_theme_color_default_color: .. rst-class:: classref-themeproperty :ref:`Color` **default_color** = ``Color( 1, 1, 1, 1 )`` The default text color. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_color_font_color_selected: .. rst-class:: classref-themeproperty :ref:`Color` **font_color_selected** = ``Color( 0.49, 0.49, 0.49, 1 )`` The color of selected text, used when :ref:`selection_enabled` is ``true``. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_color_font_color_shadow: .. rst-class:: classref-themeproperty :ref:`Color` **font_color_shadow** = ``Color( 0, 0, 0, 0 )`` The color of the font's shadow. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_color_selection_color: .. rst-class:: classref-themeproperty :ref:`Color` **selection_color** = ``Color( 0.1, 0.1, 1, 0.8 )`` The color of the selection box. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_constant_line_separation: .. rst-class:: classref-themeproperty :ref:`int` **line_separation** = ``1`` The vertical space between lines. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_constant_shadow_as_outline: .. rst-class:: classref-themeproperty :ref:`int` **shadow_as_outline** = ``0`` Boolean value. If 1 (``true``), the shadow will be displayed around the whole text as an outline. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_constant_shadow_offset_x: .. rst-class:: classref-themeproperty :ref:`int` **shadow_offset_x** = ``1`` The horizontal offset of the font's shadow. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_constant_shadow_offset_y: .. rst-class:: classref-themeproperty :ref:`int` **shadow_offset_y** = ``1`` The vertical offset of the font's shadow. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_constant_table_hseparation: .. rst-class:: classref-themeproperty :ref:`int` **table_hseparation** = ``3`` The horizontal separation of elements in a table. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_constant_table_vseparation: .. rst-class:: classref-themeproperty :ref:`int` **table_vseparation** = ``3`` The vertical separation of elements in a table. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_font_bold_font: .. rst-class:: classref-themeproperty :ref:`Font` **bold_font** The font used for bold text. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_font_bold_italics_font: .. rst-class:: classref-themeproperty :ref:`Font` **bold_italics_font** The font used for bold italics text. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_font_italics_font: .. rst-class:: classref-themeproperty :ref:`Font` **italics_font** The font used for italics text. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_font_mono_font: .. rst-class:: classref-themeproperty :ref:`Font` **mono_font** The font used for monospace text. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_font_normal_font: .. rst-class:: classref-themeproperty :ref:`Font` **normal_font** The default text font. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_style_focus: .. rst-class:: classref-themeproperty :ref:`StyleBox` **focus** The background used when the **RichTextLabel** is focused. .. rst-class:: classref-item-separator ---- .. _class_RichTextLabel_theme_style_normal: .. rst-class:: classref-themeproperty :ref:`StyleBox` **normal** The normal background for the **RichTextLabel**. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`