Tkinter Combobox显示高位Unicode字符时的异常问题
Tkinter Combobox显示高位Unicode字符的异常问题
我尝试在Tkinter的Combobox中显示Unicode字符,本次示例仅使用输入字段,未填充下拉列表。已查阅Stack Overflow上的相关话题:
- 如何在Tkinter中使用Unicode及特殊字符
- 如何指定并查看高位Unicode字符
但未找到与以下现象相关的示例:
- 为Combobox赋值字符串
'Hello !'(标记*):Button显示目标四字符符号,Combobox显示'Hello !' - 为Button和Combobox赋值相同的高位Unicode字符(标记**):二者均显示目标四字符符号
- 为Button和Combobox赋值不同的高位Unicode字符(标记***):Button显示目标四字符符号,Combobox显示未知符号占位符
测试代码
import tkinter as tk from tkinter import * from tkinter import ttk, font import unicodedata win = Tk() win.geometry("270x700") cbstyle = ttk.Style() btstyle = ttk.Style() btstyle.configure('styBut.TButton', font=('DejaVu Sans', 20)) cbstyle.configure('styComb.TCombobox', font=('DejaVu Sans', 20)) strVaButton = tk.StringVar() strVaCombo = tk.StringVar() strVaButton.set(u'\U0001D354') #strVaCombo.set(u'\U0001D354') (**) strVaCombo.set(u'\U0001D320') (***) #strVaCombo.set('Hello !') (*) print(strVaButton.get()) print(type(strVaButton.get())) print(unicodedata.name(strVaButton.get())) #print(unicodedata.name(strVaCombo.get())) theBut = ttk.Button(win, textvariable = strVaButton,style="styBut.TButton") theComb = ttk.Combobox(win, textvariable = strVaCombo,style="styComb.TCombobox") theBut.pack() theComb.pack() win.mainloop()
内容的提问来源于stack exchange,提问作者JaHe
相关产品推荐
相关产品推荐

