В зависимости от вашей платформы может быть до трех способов указания стиля шрифта.
Как кортеж, первый элемент которого - это семейство шрифтов, за которым следует размер (в пунктах, если положительный, в пикселях, если отрицательный), необязательно за которым следует строка, содержащая один или несколько модификаторов стиля bold, italic, underline и overstrike.
Примеры: ('Helvetica', '16') для обычного шрифта Helvetica размером 16 пунктов; ('Times', '24', 'bold italic') для жирного курсива Times размером 24 пункта. Для получения шрифта Times жирного начертания размером 20 пикселей используйте ('Times', -20, 'bold').
Вы можете создать «объект шрифта», импортировав модуль tkFont и используя его конструктор класса Font:
import tkFont
font = tkFont.Font(*`опция`*, ...)
где опции включают в себя:
family |
Имя семейства шрифтов в виде строки. |
size |
Высота шрифта как целое число в пунктах. Для получения шрифта высотой n пикселей, используйте -n. |
weight |
'bold' - для полужирного шрифта, 'normal' - для обычного. |
slant |
'italic' для курсива, 'roman' для обычного начертания. |
underline |
1 - для подчеркивания текста, 0 для обычного. |
overstrike |
1 - для зачеркивания текста, 0 для обычного. |
Например, чтобы получить жирный курсив Helvetica размером 36 пунктов:
helv36 = tkFont.Font(family='Helvetica', size=36, weight='bold')
Если вы работаете под системой X Window, вы можете использовать любое из имен шрифтов X. Например, шрифт с именем '-*-lucidatypewriter-medium-r-*-*-*-140-*-*-*-*-*-*' - это хороший моноширинный шрифт для экранного использования. Используйте программу xfontsel, чтобы помочь вам выбрать подходящие шрифты.
Чтобы получить список всех семейств шрифтов, доступных на вашей платформе, вызовите эту функцию:
tkFont.families()
Возвращаемое значение - это список строк.
Примечание: Вы должны создать свое основное окно перед вызовом этой функции.
Эти методы определены для всех объектов Font:
.actual(option=None)
Если вы не передаете аргументы, вы получите словарь фактических атрибутов шрифта, которые могут отличаться от тех, которые вы запросили. Чтобы получить значение атрибута, передайте его имя как аргумент.
.cget(option)
Возвращает значение данной
option.
.configure(option, ...)
Используйте этот метод, чтобы изменить одну или несколько опций шрифта. Например, если у вас есть объект
Fontс именемtitleFont, если вы вызоветеtitleFont.configure(family='times', size=18), этот шрифт изменится на Times размером 18 пунктов, и любые виджеты, использующие этот шрифт, также изменятся.
.copy()
Возвращает копию объекта
Font.
.measure(text)
Передайте этому методу строку, и он вернет количество пикселей ширины, которое займет эта строка в шрифте. Предупреждение: некоторые наклонные символы могут выходить за пределы этой области.
.metrics(option)
Если вы вызовете этот метод без аргументов, он вернет словарь всех метрик шрифта. Вы можете извлечь значение только одной метрики, передав ее имя в качестве аргумента. Метрики включают:
ascentКоличество пикселей высоты между базовой линией и верхней частью самого высокого подъемника. descentКоличество пикселей высоты между базовой линией и нижней частью самого нижнего подъемника. fixedЭто значение равно 0для переменного шрифта и1для моноширинного шрифта.linespaceКоличество пикселей высоты всей строки текста, включая пробелы между строками (интерлиньяж). Это означает, что linespaceуказывает на общую высоту, которую занимает строка текста, включая высоту символов и любой дополнительный пространственный интервал между строками.