tkinter中文处理相关问题
一些比较老的系统上,使用python的tkinter处理中文 经常出现方块,这里给出一些处理方法
采用点阵字体解决tkinter的中文乱码
如果我们不想升级tkinter相关的模块,就使用较老的点阵字体
# shell 执行如下命令
sudo apt install xfonts-wqy
sudo mkfontdir /usr/share/fonts/X11/misc
xset +fp /usr/share/fonts/X11/misc
xset fp rehash
# 然后执行
xlsfonts | grep -i "wenquanyi.*song" | grep "12-120"
# 输出 类似如下的文字
# -wqy-wenquanyi bitmap song-medium-r-normal--12-120-75-75-p-60-gb2312.1980-0
# 在python代码李设置全局字体,或者 自行用font指定
font_xlfd = "-wenquanyi-wenquanyi bitmap song-medium-r-normal--12-120-75-75-p-119-iso10646-1"
root = tk.Tk()
root.option_add("*Font", font_xlfd)
# 单独设置字体大小,因为这里的点阵已经确定好了12 的字体,其他的尺寸要自定义,可以让AI帮你计算
xlfd_12 = "-wqy-wenquanyi bitmap song-medium-r-normal--12-120-75-75-p-60-gb2312.1980-0"
xlfd_14 = "-wqy-wenquanyi bitmap song-medium-r-normal--14-140-75-75-p-70-gb2312.1980-0"
xlfd_16 = "-wqy-wenquanyi bitmap song-medium-r-normal--16-160-75-75-p-80-gb2312.1980-0"
评论