亲测通过:在Python Tkinter中直接使用字体文件而不安装字体至电脑

需求

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中

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值