Python标签没有更新?

时间:2016-01-17 17:21:01

标签: python tkinter

当我在输入框中输入详细信息时,我的标签在python中没有被更新。谢谢你的帮助

import tkinter
gui = tkinter.Tk()

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

numout = tkinter.IntVar()

def Find():
    numout.set = num1e

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()

label = tkinter.Label(gui, textvariable = numout).pack()

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

gui.mainloop()

1 个答案:

答案 0 :(得分:1)

要设置IntVarStringVar的值,您必须调用set方法并将新值作为参数。要从中获取值,必须调用get方法。

例如,要将其设置为num1条目窗口小部件中的值,您可以执行此操作:

numout.set(num1e.get())

请注意,除非您使用变量跟踪,否则不必使用所有IntVar - 您可以直接设置并从条目小部件和标签中获取值(假设您正确保存对小部件的引用) ):

num1 = tkinter.Entry(gui, bd = 5, width = 1, textvariable = num1e)
num2 = tkinter.Entry(...)
...
label = tkinter.Label(...)
num1.pack()
num2.pack()
...
label.pack()
...
num1_value = num1.get()
label.configure(text=num1_value)