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"

评论

请输入您的评论. 可以使用维基语法:
 
python/gui/tkinter/tkinter中文处理相关问题.txt · 最后更改: 2025/12/11 07:32