输入一个框的一个值会更新所有框吗?

时间:2016-01-17 13:49:25

标签: python python-3.x tkinter

每当我将值放入第一个输入框时,它会更新所有输入框是否有任何改变方法,因此每个输入框都是独立的。

import tkinter
gui = tkinter.Tk()

num1e = int()
num2e = int()
num3e = int()
num4e = int()
num5e = int()
num6e = int()
num7e = int()

def Find():
    pass

gui.geometry("450x450+500+300")

num1 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num1e).pack()
num2 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num2e).pack()
num3 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num3e).pack()
num4 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num4e).pack()
num5 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num5e).pack()
num6 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num6e).pack()
num7 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num7e).pack()

Sb = tkinter.Button(gui, text ="Find 8th", command = Find).pack()

gui.mainloop()

1 个答案:

答案 0 :(得分:2)

int()0

>>> int()
0

因此代码将0作为textvariable传递给tkinter.Entry初始值设定项。 (所有相同的值;这导致所有引用相同的变量--Tkinter不仅接受XXXVar对象,还接受int / str

以下几行:

num1e = int()
num2e = int()
num3e = int()
num4e = int()
num5e = int()
num6e = int()
num7e = int()

应该是:

num1e = tkinter.IntVar()
num2e = tkinter.IntVar()
num3e = tkinter.IntVar()
num4e = tkinter.IntVar()
num5e = tkinter.IntVar()
num6e = tkinter.IntVar()
num7e = tkinter.IntVar()