Python 如何在Tkinter标签中使用下标?

Python 如何在Tkinter标签中使用下标?,python,tkinter,Python,Tkinter,如何在Tkinter标签中使用下标 我发现很多帖子都像这样,但这对我没有帮助…对于丰富的格式,使用一个小的文本小部件而不是标签。然后,您就可以将各种格式添加到信息中。例如,您可以使用文本标记上的offset属性来创建上标和下标 配置小部件后,只需将state设置为disabled,无论出于何种目的,它看起来都像一个标签。主要区别在于,您必须手动设置大小,因为文本小部件不会像标签那样展开以适应其内容 例如: import Tkinter as tk class SampleApp(tk.Tk):

如何在Tkinter标签中使用下标


我发现很多帖子都像这样,但这对我没有帮助…

对于丰富的格式,使用一个小的文本小部件而不是标签。然后,您就可以将各种格式添加到信息中。例如,您可以使用文本标记上的
offset
属性来创建上标和下标

配置小部件后,只需将state设置为
disabled
,无论出于何种目的,它看起来都像一个标签。主要区别在于,您必须手动设置大小,因为文本小部件不会像标签那样展开以适应其内容

例如:

import Tkinter as tk
class SampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        l = tk.Text(self, width=5, height=2, borderwidth=0, 
                    background=self.cget("background"))
        l.tag_configure("subscript", offset=-4)
        l.insert("insert", "H", "", "2", "subscript", "O")
        l.configure(state="disabled")
        l.pack(side="top")

if __name__ == "__main__":
    app = SampleApp()
    app.mainloop()

如果您只需要几个下标(例如,对于一个方程式),使用unicode下标字符可能更简单

import Tkinter as Tk
root = Tk.Tk()
Tk.Label(root, text=u'% Change = (y\u1d62-y\u2080)/y\u2080 \u00d7100').pack()
root.mainloop()

是否有对这些下标字符的引用?或者更好的方法是使用python函数(给定一个字符串)将其转换为相应的下标字符?可用字符的数量有限:这也是一个有用的列表