Label

inherited (BaseShape)

Текст

Параметры

text

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

font_name

Название шрифта, заменяет шрифт по умолчанию.

Этот параметр поддерживает встроенные шрифты (Tools/File to BASE64).

font_size

Размер шрифта

text_color

Цвет текста. Не тоже самое что параметр color!

text_spacing

Расстояние между строками для многострочного текста

zfill

Аналог функции строки zfill()

lower

Аналог функции строки lower()

upper

Аналог функции строки upper()

title

Аналог функции строки title()

truncate

Обрезка строки на длину, не более указанной.

ltruncate

Обрезка, аналогичная параметру truncate, только от начала строки.

truncate_path

Обрезка пути. Путь разделяется по знаку слэша и остаётся только указанное количество элементов.

ltruncate_path

Обрезка пути слева. Остаётся указанное количество последних элементов.

truncate_to_parent

Обрезка строки чтобы она вписалась в ширину парента.

ltruncate_to_parent

Обрезка по ширине парента с удалением текста слева.

fit_to_parent

Вписать текст в ширину парента с переносом на новую строку.

line_splitter

Символ для разбиение текста при переносе на новую строку. Работает только вместе с fit_to_parent.

move_splitter_to_next_line

Если True то символ разбиения переносится на новую строку, если False то остаётся на предыдущей. Работает только с fit_to_parent.

max_lines_count

Ограничение по количеству переносов при включенном fit_to_parent. Лишние строки удаляются

lmax_lines_count

То же что и max_lines_count но удалятся строки в начале текста. Работает только вместе с fit_to_parent.

outline

Обводка текста. Данный параметр можно указывать в двух вариантах

  • number

    Указывая просто число (int или float) вы указываете толщину черного контура. Параметр называется width.

padding

Отступы от доступного для рендера пространства. Пишется в виде списка из 4х элементов. Каждый элемент обозначает свою сторону начиная с top и далее по часовой стрелке. То есть параметр [1, 2, 3, 4] равен top=1, right=2, bottom=3, left=4

padding_top

Указывает отступ только сверху. Имеет бОльший приоритет чем параметр padding

padding_right

Указывает отступ только справа. Имеет бОльший приоритет чем параметр padding

padding_bottom

Указывает отступ только снизу. Имеет бОльший приоритет чем параметр padding

padding_left

Указывает отступ только слева. Имеет бОльший приоритет чем параметр padding

{"outline": 3}
  • dict

    С помощью словаря можно указать еще два параметра, это цвет и жесткость.

{"outline": {"width": 3, "color": "red", "hardness": 1}}
backdrop

Подложка для текста. Доступно два способа определения

  • str/list

    В качестве одиночного параметра может выступать цвет в виде строки или списка из 3 или 4 чисел.

{"backdrop": [0, 0, 0, 100]}
  • dict

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

{"backdrop": {"offset": 10, "color": "red"}}
format_date

Форматирование даты. Позволяет вставить дату любого формата в тексте. Про форматирование даты можно почитать в документации. Дата берётся из контекста, параметр timestamp или текущая дата.

{
            "type": "label",
            "text": "Date: {:%Y/%m/%d}",
            "format_date": true
    }

Специальные символы

&;

Пустой символ. Полезно для разделения имени переменной от другого текста если между ними не нужен пробел. Например такая запись: $widthx$height вызовет ошибку, так как парсер будет искать переменную $widthx. В таком случае писать нужно так: $width&;x&;$height. Эта запись будет распечатана как 800x600

HTML

Поддерживаются любые HTML-спец символы в формате &[name];.

Пример списка символов: https://www.whatsmyip.org/html-characters/

(`)

Текст в фигуре label по умолчанию не воспринимается как выражение. Если вы напишете такое выражение:

"text": "=int($frame/$total_frames*100)"

То получите в результате такой текст:

int(32/200*100)

По умолчанию в тексте распаковываются только переменные, начинающиеся на символ $. Чтобы добавить в текст лейбла выражение его необходимо обозначить апострофом (`) с двух сторон. При этом вне этой зоны можно писать любой другой текст:

"text": "Progress: `=int($frame/$total_frames*100)`%"

Тогда получите такой результат:

Progress: 16%

Один лейбл может содержать несколько отдельных экспрешенов.