2017-10-06 85 views
0

我使用tkinter製作轉換器單元。我的代碼確實顯示了一個錯誤,但沒有出現在屏幕我無法在我的tkinter屏幕上顯示答案

# implement the variable 
var1 = DoubleVar() 
var2 = StringVar() 
var3 = StringVar() 

def conver(): 
       t1 = { "km": 1000, 
        "hm" : 100, 
        "dam": 10, 
         "m": 1, 
         "dm" : 0.1, 
         "cm": 0.01, 
         "mm" : 0.001 } 


       t2 = { "kg": 1000, 
         "hg" : 100, 
         "dag": 10, 
         "g" : 1, 
         "dg" : 0.1, 
         "cg": 0.01, 
         "mmg": 0.001} 




       A = var1.get() 
       B = var1.get() 
       C = var3.get() 
       if B in t1.keys() and C in t1.keys(): 
           B1 = t1[B] 
           C1 = t1[c] 
           N = A * (B1/C1) 
           text.insert(END, str(N)) 

       Number = Entry(Left, bd = 10, text = var1) 
       Number.grid(row = 0) 
       Number1 = Entry(Left, bd = 10, text = var2) 
       Number1.grid(row = 0,column = 1) 
       Number2 = Label(Left, bd 
       =10,tex"en",font("arial",10,"bold")) 
       Number2.grid(row = 0,column = 2) 
       Number3 = Entry(Left, bd = 10, text = var3) 
       Number3.grid(row = 0,column=3) 
       number4 = Button(Left,font = 
       ("arial",10,"bold"),text = "Cacul",command = 
       conver,bg = "SeaGreen1" ,bd = 10) 
       number4.grid(row =10) 

       Right = Frame(root,bd =10) 
       Right.pack(side= RIGHT) 
       text = Text(Right, bd =10, width = 50, height = 
       20) 
       text.pack(side = RIGHT) 

我想一個單位轉換爲特定的單位比如(1公里=千米),當我運行我的代碼,我看就沒事就屏幕。我不知道我做錯了什麼。我把我的代碼放在一邊。謝謝!

+1

向我們展示一個[mcve],我們可以運行並查看您遇到的錯誤,包括導入和正確的縮進。 – Novel

+0

首先打印A,B和C以查看您正在使用的內容。然後,對Entry使用「textvariable =」(它是一個變量,而不是顯示在屏幕上的某些文本)。請參閱「您也可以將條目小部件綁定到StringVar實例,並通過該變量設置或獲取條目文本」,地址爲http://effbot.org/tkinterbook/entry.htm –

回答

0

您的語法無效Number2 = Label(Left, bd=10,tex"en",font("arial",10,"bold"))。通常當出現錯誤時,Tkinter會導致它不能顯示。我猜你的意思是text="en"font=("arial",10,"bold"),因爲字體不是函數而是關鍵字。