Документация Python неофициальный перевод

tkinter.font – обёртка шрифтов Tkintertkinter.font – Tkinter font wrapper

Исходный код: Lib/tkinter/font.py


Модуль tkinter.font предоставляет класс Font для создания и использования именованных шрифтов.

Различные насыщенности и наклоны шрифта:

tkinter.font.NORMAL
tkinter.font.BOLD
tkinter.font.ITALIC
tkinter.font.ROMAN
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, Times
size – размер шрифта
Если 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)

Возвращает кортеж названий всех определённых шрифтов.

tkinter.font.nametofont(name, root=None)

Возвращает Font представление существующего именованного шрифта name. root – это виджет, интерпретатору Tcl которого принадлежит шрифт; если опущен, используется главное окно по умолчанию.

Изменено в версии 3.10: Добавлен параметр root.