问题描述
中文显示乱码
解决方案一
更改配置文件
第一步:复制中文字体(这里是微软雅黑)到 “虚拟环境所在文件夹>Lib\site-packages\kivy\data\fonts” 目录下
第二步:找到配置文件并更改
配置文件路径
根据《Kivy中文编程指南》
https://cycleuser.gitbooks.io/kivy-guide-chinese/content/04-Kivy-Config.html
---------------以下引用原文----------------
Kivy的配置文件是一个名为config.ini的文本,符合标准INI格式。
找到配置文件位置
Kivy的配置文件存放在环境变量KIVY_HOME所制定的位置:
KIVY_HOME>/config.ini
在桌面平台上,默认的位置如下:
HOME_DIRECTORY>/.kivy/config.ini
所以,假设你的用户名是“tito”,在各个操作系统下的配置文件位置则如下所示:
Windows: C:\Users\tito.kivy\config.ini
OS X: /Users/tito/.kivy/config.ini
Linux: /home/tito/.kivy/config.ini
(译者注:这里要注意,tito只是原文的一个示范,相当于张三李四这样,新手可别照着复制找不到,要用自己操作系统中具体的用户名。)
在Android系统中位置如下:
ANDROID_APP_PATH>/.kivy/config.ini
假如你的Kivy应用的包名称为“org.kivy.launcher”,那么该Kivy应用的配置文件位于:
/data/data/org.kivy.launcher/files/.kivy/config.ini
在iOS上Kivy的默认配置文件位于:
HOME_DIRECTORY>/Documents/.kivy/config.ini
---------------以上引用原文----------------
# config,ini中的原文
default_font = ['R
oboto', 'data/fonts/Roboto-Regular.ttf', 'data/fonts/Roboto-Italic.ttf', 'data/fonts/Roboto-Bold.ttf', 'data/fonts/Roboto-BoldItalic.ttf']
# 更改为
default_font = ['Microsoft YaHei UI', 'data/fonts/msyh.ttc']
解决方法二
从QQ群找来的办法
不改配置,而是在项目中指定字体
下载字体 DroidSansFallback.ttf 放在相对目录 ‘./data/fonts’ 下
import os
# 引入资源目录,如res目录位于项目根目录下,写相对路径(不要写绝对路径)相当于告诉kivy DroidSansFallback.ttf 字体位于res目录中
from kivy.resources import resource_add_path, resource_find
resource_add_path(os.path.abspath('./data/fonts'))
# 替换kivy中的默认字体,使用我们的新字体
from kivy.core.text import LabelBase
LabelBase.register('Roboto', 'DroidSansFallback.ttf')