Label

Inherits: Control < CanvasItem < Node < Object

Displays plain text in a line or wrapped inside a rectangle. For formatted text, use RichTextLabel.

Description

Label displays plain text on the screen. It gives you control over the horizontal and vertical alignment, and can wrap the text inside the node’s bounding rectangle. It doesn’t support bold, italics or other formatting. For that, use RichTextLabel instead.

Note: Contrarily to most other Controls, Label’s Control.mouse_filter defaults to Control.MOUSE_FILTER_IGNORE (i.e. it doesn’t react to mouse input events). This implies that a label won’t display any configured Control.hint_tooltip, unless you change its mouse filter.

Tutorials

Properties

Alignalign0
boolautowrapfalse
boolclip_textfalse
intlines_skipped0
intmax_lines_visible-1
MouseFiltermouse_filter2 (parent override)
floatpercent_visible1.0
intsize_flags_vertical4 (parent override)
Stringtext“”
booluppercasefalse
VAlignvalign0
intvisible_characters-1

Methods

intget_line_count ( ) const
intget_line_height ( ) const
intget_total_character_count ( ) const
intget_visible_line_count ( ) const

Theme Properties

Fontfont 
Colorfont_colorColor( 1, 1, 1, 1 )
Colorfont_color_shadowColor( 0, 0, 0, 0 )
Colorfont_outline_modulateColor( 1, 1, 1, 1 )
intline_spacing3
StyleBoxnormal 
intshadow_as_outline0
intshadow_offset_x1
intshadow_offset_y1

Enumerations

enum Align:

  • ALIGN_LEFT = 0 —- Align rows to the left (default).
  • ALIGN_CENTER = 1 —- Align rows centered.
  • ALIGN_RIGHT = 2 —- Align rows to the right.
  • ALIGN_FILL = 3 —- Expand row whitespaces to fit the width.

enum VAlign:

  • VALIGN_TOP = 0 —- Align the whole text to the top.
  • VALIGN_CENTER = 1 —- Align the whole text to the center.
  • VALIGN_BOTTOM = 2 —- Align the whole text to the bottom.
  • VALIGN_FILL = 3 —- Align the whole text by spreading the rows.

Property Descriptions

Default0
Setterset_align(value)
Getterget_align()

Controls the text’s horizontal align. Supports left, center, right, and fill, or justify. Set it to one of the Align constants.


Defaultfalse
Setterset_autowrap(value)
Getterhas_autowrap()

If true, wraps the text inside the node’s bounding rectangle. If you resize the node, it will change its height automatically to show all the text.


Defaultfalse
Setterset_clip_text(value)
Getteris_clipping_text()

If true, the Label only shows the text that fits inside its bounding rectangle. It also lets you scale the node down freely.


  • int lines_skipped
Default0
Setterset_lines_skipped(value)
Getterget_lines_skipped()

The node ignores the first lines_skipped lines before it starts to display text.


  • int max_lines_visible
Default-1
Setterset_max_lines_visible(value)
Getterget_max_lines_visible()

Limits the lines of text the node shows on screen.


Default1.0
Setterset_percent_visible(value)
Getterget_percent_visible()

Limits the amount of visible characters. If you set percent_visible to 0.5, only up to half of the text’s characters will display on screen. Useful to animate the text in a dialog box.


Default“”
Setterset_text(value)
Getterget_text()

The text to display on screen.


Defaultfalse
Setterset_uppercase(value)
Getteris_uppercase()

If true, all the text displays as UPPERCASE.


Default0
Setterset_valign(value)
Getterget_valign()

Controls the text’s vertical align. Supports top, center, bottom, and fill. Set it to one of the VAlign constants.


  • int visible_characters
Default-1
Setterset_visible_characters(value)
Getterget_visible_characters()

Restricts the number of characters to display. Set to -1 to disable.

Method Descriptions

  • int get_line_count ( ) const

Returns the amount of lines of text the Label has.


  • int get_line_height ( ) const

Returns the font size in pixels.


  • int get_total_character_count ( ) const

Returns the total number of printable characters in the text (excluding spaces and newlines).


  • int get_visible_line_count ( ) const

Returns the number of lines shown. Useful if the Label‘s height cannot currently display all lines.