当我在输入框中输入详细信息时,我的标签在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()
答案 0 :(得分:1)
要设置IntVar
或StringVar
的值,您必须调用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)