2017-07-17 105 views
-2

我一直在研究一個將2個數字加在一起的tkinter計算器。我正在計劃通過添加一組數字來提高這一點,當你輸入一個數字時,將數字乘以那個變量。但是,即使經過廣泛的研究,我也找不到一些有關我的特殊問題的幫助。這裏是我的代碼:在Tkinter中添加變量

from Tkinter import * 
root = Tk() 

e1 = Entry(root) 
e2 = Entry(root) 
l = Label(root) 
def callback(): 
    total = sum(int(e.get()) for e in (e1, e2)) 
    l.config(text="answer = %s" % total) 
b = Button(root, text="add them", command=callback) 
for widget in (e1, e2, l, b): 
    widget.pack() 
b.mainloop() 

謝謝。

+0

你的代碼看起來不錯。你能更好地解釋你想要做什麼嗎?也許有一個例子? – Novel

+0

這是什麼問題? –

回答

0

變量很容易定義。就像給你的小部件指定一個名字一樣,你可以爲字符串,列表,字典,元組,數組,整數等等指定一個名字。

例如,如果您想使用變量的值創建一些預定義的倍數,您可以執行類似my_new_var = 2的操作,然後將my_new_var插入一個函數,該函數將該變量的值乘以任何您想要的值。

下面是一些例子的代碼。確保先將2個數字加在一起,然後使用乘以2的按鈕。

from Tkinter import * 
from functools import total_ordering 
root = Tk() 

total = 0 
my_new_var = 2 

e1 = Entry(root) 
e1.pack() 
e2 = Entry(root) 
e2.pack() 
l = Label(root) 
l.pack() 

def callback(): 
    global total 
    total = sum(int(e.get()) for e in (e1, e2)) 
    l.config(text="answer = %s" % total) 

def mulitply_by_two(): 
    global total 
    total = total * my_new_var 
    l.config(text="answer = %s" % total) 

b = Button(root, text="add them", command=callback) 
b.pack() 
by_multiple = Button(root, text = "Multiply by {}".format(my_new_var), command = mulitply_by_two) 
by_multiple.pack() 

b.mainloop()