到目前为止,这是我的代码:
from tkinter import *
root = Tk()
num1 = IntVar()
num2 = IntVar()
total = IntVar()
total.set(num1.get() + num2.get())
entry1 = Entry(root, textvariable = num1)
entry1.pack()
entry2 = Entry(root, textvariable = num2)
entry2.pack()
total_label = Label(root, textvariable = total)
total_label.pack()
我要做的是让total_label
始终显示num1
和num2
的总和。但是,当我运行代码时,total_label
仍为0
。
如何total_label
显示num1
和num2
的总和?
答案 0 :(得分:4)
您可以在num1和num2上使用跟踪:
from tkinter import *
root = Tk()
num1 = IntVar()
num2 = IntVar()
total = IntVar()
def update_total(*severalignoredargs):
total.set(num1.get() + num2.get())
num1.trace('w',update_total)
num2.trace('w',update_total)
entry1 = Entry(root,textvariable=num1)
entry1.pack()
entry2 = Entry(root,textvariable=num2)
entry2.pack()
total_label = Label(root,textvariable=total)
total_label.pack()
root.mainloop()
答案 1 :(得分:0)
您应该做的是在文本变量上调用trace方法。像num.trace('w',fun) 其中fun是每当num的值更改时要调用的函数。在fun函数中,您可以更新total的值。查看完整的tkinter label教程。