使用unicode在python tkinter列表框中显示下标/上标

时间:2014-05-12 20:35:10

标签: python unicode tkinter notation

我需要在Python的Tkinter列表框中显示带有下标/上标的一些值。

我设法让输出显示硬编码值,如下所示:

 listbox.insert(i, (u"C\u2076"))

显示:C 6

这是我想要的输出;但是,6的值需要从变量中获取。我无法弄清楚如何将变量连接到u" C \ u207"一部分。如果我尝试使用字符串构建它,它有一个转义字符并显示为" C \ 2076",这样就没有用了。

我还能怎么做?

1 个答案:

答案 0 :(得分:4)

我设法为自己弄明白了。上面的评论很有帮助,但我仍然需要一种连接unicode字符的方法,因为我正在构建一个更大的字符列表。

为了连接unicode字符,我发现了用unicode函数构建的pythons。

我像上面链接的线程一样返回了上标:

def get_superscript_unicode(n):
    codes = {
        1 : u"\u00B9",
        2 : u"\u00B2",
        3 : u"\u00B3",
        4 : u"\u2074",
        5 : u"\u2075",
        6 : u"\u2076",
        7 : u"\u2077"
    }
    return unicode(codes[n])

为了连接多个unicode返回,我做了类似的事情:

for item in list:
    s += unicode(get_superscript_unicode(n)) + unicode(other text)
return unicode(s)

我可能有太多的unicode调用。我很快就拿出了一个更复杂的字符串的相关部分。