如何更新Tkin中的变量

2024-09-27 01:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的。我想在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 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_subt?你知道吗


Tags: textwindowvariablelabelpackentryname1intvar
2条回答

您可以尝试在每次减法之后调用标签上的config方法。你必须使用入口。获取()方法获取每个条目的字符串。别忘了用int()把它转换成一个整数,这样你就可以做减法,否则你会得到一个错误

标签_子配置(文本=结果)

subt变量更改为减法的结果,然后将其实际设置为标签。别那么做!另外,将其设置为text,而不是textvariable。你知道吗

subt = IntVar()
Label(window, textvariable=subt).pack()

(请注意,pack()的结果不是Label,而是None,因此可以像以前一样将其移动到单独的行,或者只是不将其绑定到您永远不需要的变量。)

接下来,您可以定义一个回调函数,用于使用set方法和bindsubt变量的值更新到任何按键。不过,你可能想把范围缩小一点。你知道吗

def update(event):
    subt.set(name1.get() - name2.get())
window.bind_all("<Key>", update)

相关问题 更多 >

    热门问题