下面是我正在测试的一些代码。在这段代码中,我可以创建一个窗口,顶部有一个标签,底部有一个入口字段。当我输入该输入字段时,我可以动态更改标签中的内容。现在,我已经包含了一个函数,试图通过存储在Entry小部件中预定义的内容来评估分配给“tex”的变量。这是“猫”。这是拿起:Python,Tkinter - 制作get()动态
tex = e.get()
据我所知,get()并没有动态改变,因为我改变了入口小部件的文本。所以当我改变入口小部件中的字符串时,它不能变成“狗”。这可能吗?这里是代码:
from Tkinter import *
import time
root = Tk()
def change():
if tex == ("cat"):
time.sleep(0.5)
pass
else:
time.sleep(0.5)
e.delete(0, END)
e.insert(0, "dog")
v = StringVar()
e = Entry(root, textvariable=v)
e.insert(0, "cat")
e.pack(side=BOTTOM)
tex = e.get() #When text is defined with get(), it does not change
#dynamically with the entry widget
l = Label(root, textvariable=v)
l.pack(side=TOP)
change()
root.mainloop()
任何帮助,将不胜感激。
您正在错误地创建'StringVar'。它需要是'v = StringVar()'(注意尾部的'()') –
我没有看到你想要达到的目标。当Entry内容改变时,StringVar'v'会动态变化,那么为什么还需要动态改变的另一个变量? –
我不是无所事事。这只是一个练习,或多或少。我试图看看是否有可能影响条目字符串以触发条件循环,以便在影响字符串“cat”时“更改”标签小部件。换句话说,我希望当我开始退格并从猫身上移除“t”时,条目和小部件会立即得到改变。 –