Fonts PySimpleGUI:字体呈现问题

Fonts PySimpleGUI:字体呈现问题,fonts,pysimplegui,Fonts,Pysimplegui,我在我的开发机器上使用了一种字体,但是,当我将应用程序捆绑为exe并将其部署到另一台没有安装该字体的机器上时,字体呈现将转换为默认。是否有一种方法可以将字体与exe绑定,并让PySimpleGUI使用它,而不是尝试在系统中定位字体(意味着需要先安装)?有解决办法吗 import PySimpleGUI as sg sg.set_options(font=['Inder',10]) 您可以使用库pyglet添加字体文件,并使用PyInstaller的选项--add data捆绑字体文件

我在我的开发机器上使用了一种字体,但是,当我将应用程序捆绑为exe并将其部署到另一台没有安装该字体的机器上时,字体呈现将转换为默认。是否有一种方法可以将字体与exe绑定,并让PySimpleGUI使用它,而不是尝试在系统中定位字体(意味着需要先安装)?有解决办法吗

import PySimpleGUI as sg    
sg.set_options(font=['Inder',10]) 

您可以使用库
pyglet
添加字体文件,并使用
PyInstaller
的选项
--add data
捆绑字体文件

要添加到可执行文件的其他非二进制文件或文件夹。路径分隔符是特定于平台的,使用的是
os.pathsep
(在Windows上是
,在大多数unix系统上是
)。此选项可多次使用

演示代码

导入pyglet 将PySimpleGUI导入为sg #pyglet.font.add_文件(r.“\MerryChristmasFlake.ttf”) #pyglet.font.add_文件(r“\merrychristmastar.ttf”) sg.主题(“暗蓝色3”) font1=(“圣诞快乐雪花”,40) font2=(“圣诞快乐之星”,40) 布局=[ [sg.Text(“圣诞快乐雪花”,font=font1)], [sg.Text(“圣诞快乐之星”,font=font2)], ] window=sg.window('Title',layout,finalize=True) 尽管如此: 事件,值=window.read() 如果事件==sg.WINDOW\u关闭: 打破 打印(事件、值) window.close()

在两行未标记的备注之后

注意:从下载的字体文件,并将这两个字体文件放在与主脚本相同的路径中