Python3中Tkinter / Tcl的一个已知问题是它只支持U+0000-U+FFFF
之间的字符。
解析字符串并用占位符或代码替换不允许的字符有一些解决方案。但是我必须知道在这个有意义之前有一个不允许的角色。
我是否真的必须对我放入Tkinter GUI的每个字符串使用这种解析替换算法?我的问题的关键点是我有我不知道的数据(网络馈送)。我是否必须解析这些大量数据,因为数百万个数据中有一个使用了不允许的字符?
有解决这个问题的pythonic方法吗?我可以使用解析替换算法而不浪费太多资源吗?
#!/usr/bin/env python3
from tkinter import *
if __name__ == '__main__':
root = Tk()
l = Listbox(root)
l.pack()
d = ['A', 'B', u'\U0001F384', 'D']
for s in d:
l.insert(END, s)
root.mainloop()
答案 0 :(得分:0)
第一个解决方案实际上是亲自解析此类字符并替换它们。
第二个及更高版本的解决方案是切换到其他GUI工具箱。我现在正在使用Gtk(PyGObject)。