经过多次研究后,我无法获得修改后的用户输入我的Tinter Entry
def mail(value):
print(value)
value = StringVar()
value.set("Default text")
entree = Entry(fenetre, textvariable=value, validate="key", width=30)
entree.pack()
value = value.get()
bouton1=Button(fenetre, text="Validate", command=lambda: mail(value))
bouton1.pack()
当我启动程序时,当我修改条目的文本时,当我点击验证时,文本值没有改变,为什么? 即使我更改了条目的标签,当我点击验证时,它也会打印我"默认文字"
答案 0 :(得分:3)
您几乎立即将新值重新分配给value
引用。首先,您执行value = StringVar()
,然后在几行之后执行value = value.get()
。那时,value
不再是StringVar
;它只是一个字符串。删除第二个分配,并使用Button
更改行以检索值本身:
bouton1 = Button(fenetre, text="Validate", command=lambda: mail(value.get()))