在 Tkinter 标签中使用上标

Using superscript in Tkinter label

我正在用 python Tkinter 制作图形用户界面。现在我需要在结果标签中显示一个多项式函数,这就是我被卡住的地方。为了显示多项式,我必须将幂写为上标。现在我可以使用一个文本框和一个正偏移值来写上标,例如,

root=Tk()
l=Text(root)
l.tag_configure("s", offset=5)
l.insert(INSERT,"X","","2","s")
l.grid(row=0)
root.mainloop()

但我不知道如何为 n 阶多项式做这件事。我在列表中有系数,我想使多项式插入到 Label/Text 小部件中。有简单的方法吗? 我也知道我可以使用 matplotlib 的乳胶文本渲染在 matplotlib 图形中显示多项式 window,但我不想在这里使用。

import Tkinter as tk
coeff = [-5,4,-3,2,1]

root=tk.Tk()
l=tk.Text(root)
l.tag_configure("s", offset=5)

#insert first coefficient manually
l.insert("insert", str(coeff[0]))
l.insert("insert","x","",str(len(coeff)-1),"s")

#use enumerate to track indexes
for idx, item in enumerate(coeff[1:],2):
    #put a plus if number is positive. If not minus sign will come from number itself
    if item >= 0:
        l.insert("insert","+","") #insert sign
    l.insert("insert", str(item)) #insert coefficient
    #insert variable if not last item.    
    if item != coeff[-1]:
        l.insert("insert","x","",str(len(coeff)-idx),"s") #insert variable and its power

l.grid(row=0)
root.mainloop()

如果你想改变系数的大小,你可以使用tag_add and tag_configure