Label

Наследует: Control < CanvasItem < Node < Object

Элемент управления для отображения простого текста.

Описание

Элемент управления для отображения обычного текста. Он позволяет управлять горизонтальным и вертикальным выравниванием и может переносить текст внутри ограничивающего прямоугольника узла. Он не поддерживает жирный шрифт, курсив или другие форматированные текстовые элементы. Для этого используйте RichTextLabel.

Примечание: Один узел Label не предназначен для отображения больших объемов текста. Для отображения больших объемов текста в одном узле рассмотрите возможность использования RichTextLabel, поскольку он поддерживает такие функции, как встроенная полоса прокрутки и многопоточность. RichTextLabel обычно работает лучше при отображении больших объемов текста (несколько страниц или более).

Обучающие материалы

Свойства

AutowrapMode

autowrap_mode

0

BitField[LineBreakFlag]

autowrap_trim_flags

192

bool

clip_text

false

String

ellipsis_char

"…"

HorizontalAlignment

horizontal_alignment

0

BitField[JustificationFlag]

justification_flags

163

LabelSettings

label_settings

String

language

""

int

lines_skipped

0

int

max_lines_visible

-1

MouseFilter

mouse_filter

2 (overrides Control)

String

paragraph_separator

"\\n"

BitField[SizeFlags]

size_flags_vertical

4 (overrides Control)

StructuredTextParser

structured_text_bidi_override

0

Array

structured_text_bidi_override_options

[]

PackedFloat32Array

tab_stops

PackedFloat32Array()

String

text

""

TextDirection

text_direction

0

OverrunBehavior

text_overrun_behavior

0

bool

uppercase

false

VerticalAlignment

vertical_alignment

0

int

visible_characters

-1

VisibleCharactersBehavior

visible_characters_behavior

0

float

visible_ratio

1.0

Методы

Rect2

get_character_bounds(pos: int) const

int

get_line_count() const

int

get_line_height(line: int = -1) const

int

get_total_character_count() const

int

get_visible_line_count() const

Свойства темы

Color

font_color

Color(1, 1, 1, 1)

Color

font_outline_color

Color(0, 0, 0, 1)

Color

font_shadow_color

Color(0, 0, 0, 0)

int

line_spacing

3

int

outline_size

0

int

paragraph_spacing

0

int

shadow_offset_x

1

int

shadow_offset_y

1

int

shadow_outline_size

1

Font

font

int

font_size

StyleBox

focus

StyleBox

normal


Описания свойств

AutowrapMode autowrap_mode = 0 🔗

Если установлено значение, отличное от TextServer.AUTOWRAP_OFF, текст будет заключен в ограничивающий прямоугольник узла. Если изменить размер узла, он автоматически изменит свою высоту, чтобы показать весь текст.


BitField[LineBreakFlag] autowrap_trim_flags = 192 🔗

Флаги обрезки пространства автопереноса. См. TextServer.BREAK_TRIM_START_EDGE_SPACES и TextServer.BREAK_TRIM_END_EDGE_SPACES для получения дополнительной информации.


bool clip_text = false 🔗

  • void set_clip_text(value: bool)

  • bool is_clipping_text()

Если true, метка отображает только тот текст, который помещается внутри ее ограничивающего прямоугольника, и обрезает текст по горизонтали.


String ellipsis_char = "…" 🔗

  • void set_ellipsis_char(value: String)

  • String get_ellipsis_char()

Символ многоточия, используемый для обрезки текста.


HorizontalAlignment horizontal_alignment = 0 🔗

Управляет горизонтальным выравниванием текста. Поддерживает выравнивание по левому краю, по центру, по правому краю и заполнение (также известное как выравнивание по ширине).


BitField[JustificationFlag] justification_flags = 163 🔗

Правила выравнивания заливки линий.


LabelSettings label_settings 🔗

Ресурс LabelSettings, который может быть общим для нескольких узлов Label. Имеет приоритет над свойствами темы.


String language = "" 🔗

Код языка, используемый алгоритмами переноса строк и форматирования текста. Если оставить поле пустым, будет использоваться текущая локаль.


int lines_skipped = 0 🔗

  • void set_lines_skipped(value: int)

  • int get_lines_skipped()

Количество проигнорированных и неотображаемых строк с начала значения text.


int max_lines_visible = -1 🔗

  • void set_max_lines_visible(value: int)

  • int get_max_lines_visible()

Ограничивает количество строк текста, отображаемых узлом на экране.


String paragraph_separator = "\\n" 🔗

  • void set_paragraph_separator(value: String)

  • String get_paragraph_separator()

Строка, используемая как разделитель абзацев. Каждый абзац обрабатывается независимо, в своем собственном контексте BiDi.


StructuredTextParser structured_text_bidi_override = 0 🔗

Установите переопределение алгоритма BiDi для структурированного текста.


Array structured_text_bidi_override_options = [] 🔗

  • void set_structured_text_bidi_override_options(value: Array)

  • Array get_structured_text_bidi_override_options()

Установите дополнительные параметры для переопределения BiDi.


PackedFloat32Array tab_stops = PackedFloat32Array() 🔗

Выравнивает текст по указанным позициям табуляции.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedFloat32Array for more details.


String text = "" 🔗

Текст для отображения на экране.


TextDirection text_direction = 0 🔗

Направление написания базового текста.


OverrunBehavior text_overrun_behavior = 0 🔗

Поведение обрезки, когда текст выходит за пределы ограничивающего прямоугольника узла.


bool uppercase = false 🔗

  • void set_uppercase(value: bool)

  • bool is_uppercase()

Если true, весь текст отображается в ЗАГЛАВНОМ регистре.


VerticalAlignment vertical_alignment = 0 🔗

Управляет вертикальным выравниванием текста. Поддерживает верх, центр, низ и заполнение.


int visible_characters = -1 🔗

  • void set_visible_characters(value: int)

  • int get_visible_characters()

Количество отображаемых символов. Если задано значение -1, отображаются все символы. Это может быть полезно при анимации текста, появляющегося в диалоговом окне.

Примечание: Установка этого свойства соответствующим образом обновляет visible_ratio.

Примечание: Символы считаются кодовыми точками Unicode. Одна видимая графема может содержать несколько кодовых точек (например, некоторые эмодзи используют три кодовые точки). Одна кодовая точка может содержать два символа UTF-16, которые используются в строках C#.


VisibleCharactersBehavior visible_characters_behavior = 0 🔗

Поведение обрезки, когда задано visible_characters или visible_ratio.


float visible_ratio = 1.0 🔗

  • void set_visible_ratio(value: float)

  • float get_visible_ratio()

Доля символов для отображения относительно общего числа символов (см. get_total_character_count()). Если установлено значение 1.0, отображаются все символы. Если установлено значение 0.5, отображается только половина символов. Это может быть полезно при анимации текста, появляющегося в диалоговом окне.

Примечание: Установка этого свойства соответствующим образом обновляет visible_characters.


Описания метода

Rect2 get_character_bounds(pos: int) const 🔗

Возвращает ограничивающий прямоугольник символа в позиции pos в локальной системе координат метки. Если символ является невизуальным символом или pos находится за пределами допустимого диапазона, возвращается пустой Rect2. Если символ является частью составной графемы, возвращается ограничивающий прямоугольник всей графемы.


int get_line_count() const 🔗

Возвращает количество строк текста в метке.


int get_line_height(line: int = -1) const 🔗

Возвращает высоту строки line.

Если line установлен в -1, возвращает наибольшую высоту строки.

Если строк нет, возвращает размер шрифта в пикселях.


int get_total_character_count() const 🔗

Возвращает общее количество печатных символов в тексте (без учета пробелов и символов новой строки).


int get_visible_line_count() const 🔗

Возвращает количество показанных строк. Полезно, если высота Label-ов в данный момент не может отображать все строки.


Описания свойств темы

Color font_color = Color(1, 1, 1, 1) 🔗

Color Label текста по умолчанию.


Color font_outline_color = Color(0, 0, 0, 1) 🔗

Цвет контура текста.


Color font_shadow_color = Color(0, 0, 0, 0) 🔗

Color эффекта тени текста.


int line_spacing = 3 🔗

Дополнительный вертикальный интервал между строками (в пикселях), интервал добавляется к спуску строки. Это значение может быть отрицательным.


int outline_size = 0 🔗

Размер контура текста.

Примечание: При использовании шрифта с включенным FontFile.multichannel_signed_distance_field его FontFile.msdf_pixel_range должен быть установлен как минимум в дважды раза больше значения outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.

Примечание: Не рекомендуется использовать значение, превышающее половину размера шрифта, так как в этом случае контур шрифта может не полностью закрыться.


int paragraph_spacing = 0 🔗

Вертикальный интервал между абзацами. Добавляется поверх line_spacing.


int shadow_offset_x = 1 🔗

Горизонтальное смещение тени текста.


int shadow_offset_y = 1 🔗

Вертикальное смещение тени текста.


int shadow_outline_size = 1 🔗

Размер контура тени.


Font font 🔗

Font, используемый для текста Label-ов.


int font_size 🔗

Размер шрифта текста Label-ов.


StyleBox focus 🔗

StyleBox используется, когда фокус находится на Label (при использовании со вспомогательными приложениями).


StyleBox normal 🔗

Фон StyleBox для Label.