字体

总共有三种设置字体的方法。

  • 声明一个元组,第一个元素是字体类型,紧接着是字体大小(正数表示打印点,负数表示像素),第三个为可选参数,包含一个或多个样式的字符串,有 bolditalicunderlineoverstrike
    比如:(‘Helvetica’, ‘16’) 表示 16 点的标准 Helvetica 字体;(‘Times’, ‘24’, ‘bold italic’) 表示 24 点的 Times 加粗斜体。对于 20 像素的 Times 加粗字体,可使用 (‘Times’, -20, ‘bold’)。
  • 可以导入 tkFont 模块,使用它的构造方法,来创建一个 ‘字体对象’。
import tkFont
font = tkFont.Font(option, ...)

option可包含以下内容:

option

作用

family

字体类型名的字符串

size

以点为单位的字体高度,如果要设置 n 像素高,用 -n

weight

‘bold’表示粗体,’normal’表示正常大小

slant

‘italic’表示斜体,’roman’表示正常

underline

1 表示下划线字体,0 表示正常

overstrick

1 表示 文本带删除线 ,0 表示正常

比如,构造一个 36 点 Helvetica 粗体,斜体字体对象:
helv36 = tkFont.Font(family='Helvetica', size=36, weight='bold')

  • 参见原网站

调用以下函数,可以得到当前平台可以使用的字体列表:
tkFont.families()
注:你需要先创建一个根窗口,才能调用这个函数。

所有的 Font 对象都可以调用一下函数:
.actual(option=None)
如果没有传递参数,你可以得到 font 实际参数的字典,可能和你请求的不一样。传递相应属性名作为参数,即可得到该属性的值。
.cget(option)
返回给定 option 的值。
.configure(option, …)
可以用这个函数来更改一个或多个 option 的值。比如,有一个名为 titleFont 的 Font 对象,如果调用 titleFone.configure(family='times', size=18) 该字体变为 18点 的 Times 字体,所有使用该字体的插件也会改变。
.copy()
返回 Font 对象的一个副本。
.measure(text)
给这个函数传递一个字符串,会返回其应用该字体后,所要占用的像素数。注意:一些斜体可能会占用多于该数目的空间。
.metrics(option)
如果调用本函数,并且没有参数,将返回 font 各部分权重的字典。可以传递某个权重的名字,来得到该权重的值。权重包含:

权重

作用

ascent

参考下图

descent

参考下图

fixed

0 可变宽度的字体,1 单空格宽度的字体

linespace

总的像素高度。

参考下图:

python粗细 python如何加粗字体_python粗细