字体(tkinter,Python3.x)

字体

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

  • 声明一个元组,第一个元素是字体类型,紧接着是字体大小(正数表示打印点,负数表示像素),第三个为可选参数,包含一个或多个样式的字符串,有 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’表示正常
underline1 表示下划线字体,0 表示正常
overstrick1 表示 文本带删除线 ,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参考下图
fixed0 可变宽度的字体,1 单空格宽度的字体
linespace总的像素高度。

参考下图:
metrics_取自wiki

注:本文翻译自新墨西哥理工大学计算机中心

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值