如何在Raspberry Pi 3的Pygame环境中更改文本字体?
在树莓派3的Pygame中更改文本字体的方法
嘿,我来帮你搞定树莓派3上Pygame换字体的问题!Windows的教程确实和树莓派(Linux系统)不太适配,不过咱们有两种简单靠谱的方法,下面一步步给你讲:
方法一:使用树莓派系统内置字体
树莓派自带了不少系统字体,直接调用就行,步骤如下:
查看系统可用字体
打开终端,输入以下命令就能列出所有已安装的系统字体:fc-list要是想筛选特定类型的字体(比如无衬线字体),可以加个过滤:
fc-list | grep "Sans"记下来你想用的字体名称,比如
Roboto、Noto Sans这些。在Pygame中加载系统字体
使用pygame.font.SysFont()方法加载指定字体,举个例子:import pygame pygame.init() # 初始化窗口 screen = pygame.display.set_mode((400, 300)) pygame.display.set_caption("更换字体示例") # 加载系统内置的Roboto字体,字号24 font = pygame.font.SysFont("Roboto", 24) # 渲染文本(抗锯齿开启,文本颜色白色) text_surface = font.render("这是Roboto字体", True, (255, 255, 255)) # 主循环 running = True while running: screen.fill((0, 0, 0)) screen.blit(text_surface, (50, 100)) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.display.flip() pygame.quit()
方法二:加载自定义字体文件
如果系统自带的字体不够用,你可以用自己下载的字体文件(.ttf或.otf格式),步骤如下:
准备字体文件
找一个开源免费的字体文件(比如Noto Sans、Open Sans),把它放到你的Python项目文件夹里,比如项目根目录,或者专门建一个fonts子文件夹存放。在Pygame中加载自定义字体
使用pygame.font.Font()方法加载字体文件,注意路径要正确:import pygame pygame.init() screen = pygame.display.set_mode((400, 300)) pygame.display.set_caption("自定义字体示例") # 加载项目根目录下的NotoSans-Regular.ttf字体,字号24 # 如果字体在fonts文件夹里,路径写成"fonts/NotoSans-Regular.ttf" font = pygame.font.Font("NotoSans-Regular.ttf", 24) text_surface = font.render("这是自定义字体", True, (255, 255, 255)) running = True while running: screen.fill((0, 0, 0)) screen.blit(text_surface, (50, 100)) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.display.flip() pygame.quit()
小提醒
- 系统字体的名称一定要和
fc-list里显示的完全一致,不然Pygame会自动 fallback 到默认字体。 - 如果加载自定义字体没生效,先检查文件路径是否正确,确保字体文件和你的Python脚本在同一个目录,或者路径写对了。
内容的提问来源于stack exchange,提问作者Andrew Bell




