用Tkinter打造GUI开发工具(7)字体类型

112 篇文章 45 订阅
106 篇文章 119 订阅

Tkinter字体类型根据Python使用的平台,可能会有三种方法来指定类型的风格。
1)作为一个元组的第一个元素是字体,紧随其后的是分大小,可选地紧随其后  字符串包含一个或多个风格修饰符粗体、斜体、下划线、和超调。
例如:(“Helvetica”, “16”)和(“Times”, “24”, “bolditalic”)。
2)可以导入字体对象创建一个tkFont模块和使用它的字体类构造函数。

import  tkinter.font   as  tkFont  #导入Tkinter字体模块

创建字体对象的语法格式如下。

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

创建方法中的 option 选项参数见下表。

参数说明
family字体名称为字符串。
size字体高度为整数点。获得字体n像素高,使用 - n。
weight字体宽度。“bold” 表示加粗, "normal"表示正常字体宽度。
slant字体倾斜。“italic” 表示斜体, "roman"表示不斜的。
underline下划线。1表示下划线文本,0表示正常。
overstrike划线字体。1表示划线文本,0表示正常。

tkFont除了选项参数外,还有一些方法。
显示所有可用字体,可以使用如下方法。
tkFont.families()
对于创建的字体对象font,还有如下方法可以使用。
1)返回字体对象全部或一个属性值。

font.actual ( option=None )

如果你不传递任何参数,返回字体对象实际属性,字典数据。

2)返回给定的字体对象属性值。

font.cget ( option )

3)改变字体对象一个或多个属性值。

font.configure ( option, ... )

使用这种方法来改变一个或多个选项字体。使用这个字体对象的小部件字体也会随之改变。
4)返回一个字体对象的副本。

font.copy()

5)返回使用这个字体对象的字符串像素宽度。

font.measure ( text )

通过这个方法将返回字符串的像素宽度。注意:有些倾斜字符可能延长到这个像素宽度区域以外。
6)回返字体度量。

font.metrics ( option )

如果你不带参数调用这个方法,它返回一个字典的所有字体度量。可选option参数含义见下表。

参数说明
ascent高度的像素数量之间的基线和上升最高的顶部。
descent高度的像素数量之间的基线和最低的人或物的底部。
fixed此值对于变幅字体为0,对于单幅字体为1。
linespace高度的像素数量。

下面给出一个Tkinter字体对象示例程序。

# -*- coding: utf-8 -*-
import tkinter as tk  #装载tkinter模块,用于Python3
import  tkinter.font   as  tkFont  #导入Tkinter字体模块

root=tk.Tk()  #创建Tkinter主窗口
root.title("Tkinter字体演示")

helv36 = tkFont.Font ( family="Helvetica",size=36, weight="bold",slant= "italic"  ,underline=1) #创建字体对象
w = tk.Label(root, text="Tkinter字体演示", font=helv36) #创建Labkel部件 
w.pack()  #放置部件

f = tkFont.Font(family="times", size=30, weight="normal",slant= "roman",overstrike=1 )
w = tk.Label(root, text="Hello, world", font=f)
w.pack()

w = tk.Button(root, text="Quit!", command=root.destroy)
w.pack()

fb = tkFont.Font(font=w["font"]).copy()
fb.config(weight="bold")
fb.config(size=20)
w.config(font=fb)

root.mainloop()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荷蒲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值