在Tkinter中添加变量

时间:2017-07-17 15:59:23

标签: python tkinter

我一直在研究一个将2个数字加在一起的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()

感谢。

1 个答案:

答案 0 :(得分:0)

变量很容易定义。就像为小部件指定名称一样,您可以为字符串,列表,字典,元组,数组,整数等指定名称。

例如,如果您想使用变量的值创建一些预定义的倍数,您可以执行my_new_var = 2之类的操作,然后将my_new_var插入到一个函数中,该函数将该变量的值乘以您想要的任何int。 / p>

这是一些带有示例的代码。确保先将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()