Python 如何在Tkinter中更新变量
我是新来的。我想在GUI中的两个不同条目中写入两个数字,并在显示屏上查看它们更新后的减法结果。这是我的密码:Python 如何在Tkinter中更新变量,python,python-2.7,user-interface,tkinter,Python,Python 2.7,User Interface,Tkinter,我是新来的。我想在GUI中的两个不同条目中写入两个数字,并在显示屏上查看它们更新后的减法结果。这是我的密码: from tkinter import * window = Tk() lb1 = Label(window,text="variable 1") lb1.pack() name1=IntVar() en1=Entry(window, textvariable=name1) en1.pack() lb2 = Label(window,text="variable
from tkinter import *
window = Tk()
lb1 = Label(window,text="variable 1")
lb1.pack()
name1=IntVar()
en1=Entry(window, textvariable=name1)
en1.pack()
lb2 = Label(window,text="variable 2")
lb2.pack()
name2=IntVar()
en2=Entry(window, textvariable=name2)
en2.pack()
subt=IntVar()
subt=name1.get()-name2.get()
label_subt=Label(window, text=subt).pack()
如何更新
label\u subt
?您可以尝试在每次减法后调用标签上的config方法。您必须使用entry.get()方法来获取每个条目的字符串。不要忘记使用int()将其转换为整数,这样就可以进行减法运算,否则会出错
label_subt.config(text=result)将
subt
变量更改为减法结果,然后将其实际设置为标签。不要那样做!另外,您将其设置为文本
,而不是文本变量
subt = IntVar()
Label(window, textvariable=subt).pack()
(请注意,pack()
的结果不是标签
,而是None
,因此可以像以前一样将其移动到单独的一行,也可以不将其绑定到您根本不需要的变量。)
接下来,您可以定义一个回调函数,用于使用set
方法和bind
将该回调函数绑定到任何按键来更新subt
变量的值。不过,你可能想把范围缩小一点
def update(event):
subt.set(name1.get() - name2.get())
window.bind_all("<Key>", update)
def更新(事件):
subt.set(name1.get()-name2.get())
window.bind_all(“,update)
您阅读过任何文档吗?有更新标签的文档,也有更新与标签相关的变量的文档。不是重复的,但这个问题应该解释您需要做什么: