tkinter.font – обёртка шрифтов Tkinter¶tkinter.font – Tkinter font wrapper
Исходный код: Lib/tkinter/font.py
Модуль tkinter.font предоставляет класс Font для создания
и использования именованных шрифтов.
Различные насыщенности и наклоны шрифта:
- class tkinter.font.Font(root=None, font=None, name=None, exists=False, **options)¶
Класс
Fontпредставляет шрифт, используемый виджетами Tk. Он либо создаёт новый именованный шрифт, либо ссылается на существующий. Именованный шрифт – это способ Tk идентифицировать шрифт как единый объект, на который можно ссылаться по имени и перенастраивать на месте, вместо повторного указания его атрибутов при каждом использовании.Если exists равен false (по умолчанию), создаётся новый именованный шрифт. Его атрибуты берутся из описания шрифта font, если оно задано, и переопределяются ключевыми аргументами options. Новый шрифт называется name, или же генерируется уникальное имя, если name опущен.
Если exists равен true, используется существующий шрифт, а не создаётся новый. Если задан name, это имя шрифта, который перенастраивается с помощью font и options, если хотя бы один из них задан. Если name опущен, описание шрифта font используется как есть, без создания именованного шрифта, так что он используется без потери точности методами
actual(),measure()иmetrics(). В этом случае ключевые аргументы не принимаются, и атрибутnameявляется самим описанием, а не строкой.Описание шрифта font – это кортеж из названия семейства, размера и ноля или более стилей, или любая другая форма, принимаемая Tk, например имя именованного шрифта.
Ключевые аргументы options:
family – семейство шрифта, например, Courier, Timessize – размер шрифтаЕсли size положителен, он интерпретируется как размер в пунктах.Если size – отрицательное число, его абсолютное значение считаетсякак размер в пикселях.weight – насыщенность шрифта (NORMAL, BOLD)slant – наклон (ROMAN, ITALIC)underline – подчёркивание шрифта (0 – нет, 1 – подчёркивание)overstrike – зачёркивание шрифта (0 – нет, 1 – зачёркивание)Изменено в версии 3.10: Теперь два шрифта считаются равными (
==) только если оба являются экземплярамиFontс одним и тем же именем, принадлежащими одному интерпретатору Tcl.Изменено в версии 3.16.0a0 (не выпущена): Теперь описание шрифта можно использовать без создания нового именованного шрифта, и ключевые аргументы переопределяют атрибуты указанного font.
- actual(option=None, displayof=None)¶
Возвращает фактические атрибуты шрифта, которые могут отличаться от запрошенных из-за ограничений платформы. Без указания option возвращает словарь всех атрибутов; если указан option, возвращает значение этого единственного атрибута.
- cget(option)¶
Извлекает атрибут шрифта.
Примечание
cget()иconfigure()работают с именованным шрифтом и вызываютTclErrorдля описания шрифта, используемого как есть. Используйтеactual()для запроса атрибутов последнего.
- configure(**options)¶
Изменяет один или несколько атрибутов шрифта. Без аргументов возвращает словарь текущих атрибутов.
config()является псевдонимомconfigure().
- copy()¶
Возвращает новый экземпляр текущего шрифта.
- measure(text, displayof=None)¶
Возвращает количество пикселей, которое текст займёт на указанном дисплее при форматировании текущим шрифтом. Если дисплей не указан, используется главное окно приложения.
- metrics(*options, **kw)¶
Возвращает данные о шрифте. Без параметров возвращает словарь, сопоставляющий каждому названию метрики её целочисленное значение; если указано одно название метрики, возвращает значение этой метрики как целое число. Параметры включают:
- ascent – расстояние от базовой линии до самой высокой точки, которую
может занимать символ шрифта.
- descent – расстояние от базовой линии до самой низкой точки, которую
может занимать символ шрифта.
- linespace – минимальный вертикальный интервал, необходимый между любыми двумя
символами шрифта, чтобы гарантировать отсутствие вертикального наложения строк.
fixed – 1, если шрифт моноширинный, иначе 0
- tkinter.font.families(root=None, displayof=None)¶
Возвращает кортеж названий доступных семейств шрифтов.
- tkinter.font.names(root=None)¶
Возвращает кортеж названий всех определённых шрифтов.