tkinter中的字体

tkinter中有字的控件都能用的上字体。常见的有Label、LabelFrame、Button等。
实现方法如下:

一、用元组作为font参数

如:name_label=tk.Label(win,font=(“Times”,10,“bold”))即为Times字体10磅大小,加粗。其中第三个参数可选,分别为——“bold”加粗、“italic”斜体、“underline”下划线、“overstrike”删除线。
例:

import tkinter as tk
win=tk.Tk()
win.name_label=tk.Label(win,text="反对抄袭",font=("Times",10,"bold"))
win.name_label.pack()
win.name_label1=tk.Label(win,text="人人有责",font=("华文行楷",10,"italic"))
win.name_label1.pack()
win.name_button=tk.Button(win,text="点我举报",font=("等线",20,"underline"))
win.name_button.pack()
win.name-button1=tk.Button(win,text="不要脸的抄袭怪",font=("黑体",20,"overstrike"))
win.name_button1.pack()

效果:
图1

二、使用font中Font对象作为font参数

如:my_font=font.Font(family=“Times”,size=20,weight=font.BOLD,slant=font.ITALIC,underline=1,overstrike=1)
win.label=tk.Label(win,text=“抄袭怪不要脸!!!”,ft=my_font)。其中family参数为字体类型,size为大小,weight为加粗,slant为斜体,underline下划线,overstrike删除线。

例:

import tkinter as tk
from tkinter import font
win=tk.Tk()
win.my_font=font.Font(family="华文行楷",size=20,weight=font.BOLD,slant=font.ITALIC,underline=1,overstrike=1)
win.my_label=tk.Label(win,text="复制粘贴标原创的人都不要脸",font=win.my_font)
win.my_label.pack()

效果:
图2

三、利用font.familis()显示所有可用字体

例:

import tkinter as tk
from tkinter import font
win=tk.Tk()
print(font.families())

输出:
图3

四、font参数优先级最高

如:
my_font=font.Font(font=(“黑体”,20,font.BOLD),size=40)
label=tk.Label(win,text=“抄袭可耻”,font=my_font)
的结果是size=20而非40

例:

import tkinter as tk
from tkinter import font
win=tk.Tk()
win.my_font=font.Font(font=("华文行楷",20,font.BOLD),size=40)	#这个size=40不起作用
win.my_font_c=font.Font(font=("华文行楷",20,font.BOLD))
win.label1=tk.Label(win,text="保护知识产权",font=win.my_font).pack()
win.label2=tk.Label(win,text="保护知识产权",font=win.my_font_c).pack()

效果:
图4

五、使用系统字体与X Font Descriptor

空缺待补

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐