You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter Combobox显示高位Unicode字符时的异常问题

Tkinter Combobox显示高位Unicode字符的异常问题

我尝试在Tkinter的Combobox中显示Unicode字符,本次示例仅使用输入字段,未填充下拉列表。已查阅Stack Overflow上的相关话题:

  • 如何在Tkinter中使用Unicode及特殊字符
  • 如何指定并查看高位Unicode字符

但未找到与以下现象相关的示例:

  1. 为Combobox赋值字符串'Hello !'(标记*):Button显示目标四字符符号,Combobox显示'Hello !'
  2. 为Button和Combobox赋值相同的高位Unicode字符(标记**):二者均显示目标四字符符号
  3. 为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 17:10:01