Tkinter 8.5 参考手册: a GUI for Python (五)4

5.4. 字体样式

根据你的平台的支持情况,有三种方式可以指定样式类型。

  • 通过一个元组来描述字体样式,第一参数是字体类型,第二个是字体大小(正正值表示磅,负值表示像素),第三个参数是可选的,它可以用 一个或多个字符串bold(粗体), italic(斜体), underline(下划线)overstrike(改写)来修饰样式。比如:('Helvetica', '16') 普通16磅Helvetica字体;('Times', '24', 'bold italic')24磅Times字体加粗斜体;('Times', -20, 'bold')20像素Times字体加粗。
  • 你可以通过导入tkFont 模块并使用Font 类来新创建一个“字体类”。

    import tkFont
    
    font = tkFont.Font(option, ...)
    

    选项(options)包括:

    family 字体的名称字符串
    size 字体的高度,用整数磅值来表示。想要用字体的n个像素高来表示,使用-n。
    weight'bold'为加粗,'normal'为普通
    slant  'italic'为斜体,'roman'为非倾斜
    underline 1为下划线,0为普通
    overstrike  1为更正线,0为普通

  • 举个例子,36磅粗体Helvetica字体

        helv36 = tkFont.Font(family='Helvetica',
            size=36, weight='bold')
    
  • 若你运行在X Window系统中,你可以使用任何X font名称。比如字体名为'-*-lucidatypewriter-medium-r-*-*-*-140-*-*-*-*-*-*',它是一个宽度修正可以在屏幕上显示的字体。使用xfontsel工具可以帮助你挑选心怡的字体。

通过以下函数可以列出你平台上可用所有字体:

    tkFont.families()

返回值的类型为字符串列表。注:必须在创建root window后再调用这个函数。

.actual(option=None)

t如果没有使用参数,那么就会返回一个字体实际属性的字典,实际属性可能会不同于你请求的某一个属性。如果想获得指定名称的属性值,那么就把名字当做参数吧。

.cget(option)

返回给定option(选项)的值。

.configure(option, ...)

通过这个方法可以改变一个或多个字体类型的选项。假如你创建了一个叫titleFont的Font对象。执行titleFont.configure(family='times', size=18)将会把字体包括使用了该字体类型的组件一起改变成18磅Time字体。

.copy()

返回一个Font对象的拷贝。(译者注:使用对象拷贝是一种非常常见的操作,若只通过=赋值的方式来把一个对象传递,其实只是传递了一个指针而已,造成的效果就是一旦类的内容发生变化,那个被赋值的变量内容也会发生改变)

.measure(text)

给这个方法输入一个字符串,哪个它就会返回使用此字体类型所占的像素宽度。警告:一些斜体字符可能会从这个区域大小中溢出来。

.metrics(option)

若你调用这个方法时没有参数,这个方法会返回一个所有font metrics(字体度量)的字典。你可以使用一些任何一个度量名称作为参数。度量包括:

ascent 基准线到所有字符最高点之间的像素数。
descent 从基准线到所有字符中最低点之间的像素数
fixed 0表示可变宽度字体,1表示等宽字体
linespace 总高度像素值,这个方法可以指导我们把指定字体样式设置为立体的。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值