2014-09-11 191 views
-1

嘿,我想在我的計算器上這樣做,當按下按鈕時,點擊的按鈕的數量輸入屏幕上。任何人都有可能以最有效的方式做到這一點? 這是我的代碼到目前爲止。Tkinter gui計算器

import tkinter 

window = tkinter.Tk() 
window.geometry("150x170") 

lbl1 = tkinter.Label(text = "Calculator").grid(row = 1, column = 4) 

displaynum = 0 
lb = tkinter.Label(text = displaynum, borderwidth = 4).grid(row = 2, column = 4) 
def displayednum(): 
    global displaynum 
    lbl = tkinter.Label(text = displaynum, borderwidth = 4).grid(row = 2, column = 4) 

for n in range(1,4): 
    btn1 = tkinter.Button(text = n,borderwidth = 2, command = changenumber).grid(row = 3,column = n*2) 
    lbl2 = tkinter.Label(text = " ").grid(row = 3, column = n*2+1) 
for u in range(1,4): 
    btn2 = tkinter.Button(text = u+3,borderwidth = 2).grid(row = 6, column = u*2) 
    lbl3 = tkinter.Label(text = " ").grid(row = 6, column = u*2+1) 
for m in range(1,4): 
    btn2 = tkinter.Button(text = m+6,borderwidth = 2).grid(row = 9, column = m*2) 
    lbl4 = tkinter.Label(text = " ").grid(row = 9, column = m*2+1) 


window.mainloop() 

任何人都有解決方案嗎?

+0

要下手。 – Kevin 2014-09-11 13:15:25

回答

0

更改標籤文本的功能可以實現這樣的:

def changenumber(label, val): 
    label.config(text=str(val)) 

而分配變量但是你要小心。 變量lbl1和lb都是None。 你應該嘗試一下這種方法:當創建一個按鈕,提供指向該更新號碼顯示功能的`command`說法:

lbl1 = tkinter.Label(text = "Calculator") 
lbl1.grid(row = 1, column = 4) 
lb = tkinter.Label(text = displaynum, borderwidth = 4) 
lb.grid(row = 2, column = 4)