2015-07-21 72 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)] –