我有一段代码,我希望当输入框为空时查询按钮消失。但这没有发生。当我尝试按任意键打印输入值时,它显示最后一个值,而不是当前值。
例如。如果“测试”是引脚中的先前值,则比按下退格键pin.get()
显示测试而不是“测试”。我是python和Tkinter的新手,所以不知道我在做什么傻事。
def send_button ():
print pin.get()
if pin.get() == "":
print "in if"
query.place_forget()
else:
query.place(relx=0.0, rely=0.75, relwidth=0.2, relheight=0.15)
return TRUE
#Entry box
pin = StringVar()
ent1 = Entry(top, textvariable = pin, validate = 'key', vcmd = send_button)
#Query button
query = Button (top, command = get_temp, text = 'Query')
top.mainloop()
答案 0 :(得分:0)
验证在字符插入窗口小部件之前发生。这就是它的全部目的:决定是否允许编辑。它不能使文本的决定已经输入(或删除)。
条目验证有一种方法可以在文本输入之前,输入之后,插入或删除的内容以及其他一些信息中传入文本的值。
请参阅此答案以获取全面的示例: