在 tkinter 中显示表情符号

问题描述 投票:0回答:1

我正在 Ubuntu 中使用 python 3.x,我试图在 tkinter 中显示一些表情符号。在 Windows 中,我通过显示等效代理对解决了这个问题Python:从非 BMP unicode 字符中查找等效代理对,但是在 Ubuntu 中,当我尝试使用一些表情符号执行此操作时,程序崩溃并给出此错误,

代码:

import tkinter as tk

root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack()
x, y= 0, 0
for _ in range(100):
    canvas.create_text(x, y, text='\ud83d\ude4f', anchor=tk.NW)
    y += 10


root.mainloop()

错误:

X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  139 (RENDER)
  Minor opcode of failed request:  20 (RenderAddGlyphs)
  Serial number of failed request:  199
  Current serial number in output stream:  199

其实我不认为这是Python的问题,也许是操作系统的问题。 我还没有找到那么多的解决方案。

python ubuntu tkinter
1个回答
0
投票

我真的不知道如何解决这个问题,但我过去使用 tkinter 的经验告诉我,这可能是字体的问题。您可以使用命令“xfd -fa“[此处为您的字体]””来查看您的字体的所有可能的表情符号/符号。我相信你必须安装适用于 ubuntu 的表情符号包, [1]:https://simpleit.rocks/linux/showing-emojis-in-ubuntu-linux/

© www.soinside.com 2019 - 2024. All rights reserved.