需求
tkinter在使用字体时只可以使用电脑上安装的字体而无法直接调用字体文件,
需要可以在tk中直接引用字体文件显示,而不用先把字体安装到操作系统中
步骤
1,导入pyglet模块,需要python版本大于3.8版本以上
pip install pyglet
2,使用pyglet引入相关字体文件,在tkinter中引用加载
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Date:2023-12-13 v1.0
# 注意:Exception: pyglet 2.0.10 requires Python 3.8 or newer.
from pathlib import Path
import tkinter as tk
import tkinter.font as tkfont
import pyglet
pyglet.options['win32_gdi_font'] = True
fontpath = Path(__file__).parent / '优设标题黑.ttf'
pyglet.font.add_file(str(fontpath))
root = tk.Tk()
# 这个地方,要写字体的名称,不是文件名称,就是windows打开相关字体后,第一行显示的字体名称
fontset = tkfont.Font(family='优设标题黑', size=60)
label = tk.Label(text='Hello你好', font=fontset)
label.pack()
root.mainloop()
3,字体名称引用注意事项,这个地方容易弄错,有些字体名称和文件名不一致!
4,字体引用的相关说明,这个名称错误,导致无法正确加载相关字体
5,最终效果,相关字体可以正确加载显示在tk中