2015-07-21 46 views
2

我尝试在Sci-notebook Python应用程序中使用符号按钮。 但作为阿尔法节目“^”如何在tkinter按钮中使用符号字体? python

symbol = {'alpha':97,'beta':98,'gamma':103,'delta':100,\ 
      'epsilon':101,'zeta':122,'eta':104,'theta':113,\ 
       ..... } 
    xp=0 
    yp=0 
    sym_button=[] 
    for i in range(len(symbol.items())): 
     cp=chr(symbol.items()[i][1]) 
     sym_button.append(tk.Button(frame1, width=1, height=1, font='Symbol 9', text=cp)) 
     sym_button[len(sym_button)-1].place(x=840+xp,y=0+yp) 
     xp=xp+17 
     if xp+840>960: 
      xp=0 
      yp=yp+25   

我需要尝试像还是什么?

 cp=chr(symbol.items()[i][1]).encode('Symbol') 

     LookupError: unknow encoding: Symbol 
+0

您是否在寻找UTF-8个字符? (对于Alpha,Beta,Gamma,Delta ...) – FunkySayu

+0

cp = unichr(0xF000 + symbol.items()[i] [1])不起作用,它在Button中显示为问号[?] –

回答

2

依靠生成这些符号的特殊字体可能不是最好的方法。相反,您应该考虑直接使用相应的Unicode字符。你可以找到的字符代码,例如,在维基百科页面的α,β等

小例子:

root = tk.Tk() 
symbol = {'alpha':945, 'beta':946, 'gamma': 947, 'delta': 948, 'epsilon':949} 
for s in symbol: 
    tk.Button(root, text=unichr(symbol[s])).pack() 
root.mainloop() 
+0

谢谢,从你的建议,我发现一些Unicode使许多符号U0x2200 unichar 8704.我的错误来自字典不安排,但你的答案看起来更好。现在我更改为使用列表作为符号看起来像这个符号= [('alpha',945),('beta',946),('gamma',947),('delta',948),('epsilon' ,949)] –