Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Tkinter中更新变量_Python_Python 2.7_User Interface_Tkinter - Fatal编程技术网

Python 如何在Tkinter中更新变量

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

我是新来的。我想在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\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)
您阅读过任何文档吗?有更新标签的文档,也有更新与标签相关的变量的文档。不是重复的,但这个问题应该解释您需要做什么: