我试图在两个Entry
上绑定<Return>
键事件,但验证代码不起作用(没有显示错误,validate
函数不适用)
以下是条目初始化:
from tkinter import *
fi = Tk()
l_n = Entry(fi)
l_t = Entry(fi)
b1 = Button(fi, cursor="hand2", overrelief=GROOVE, text="Run", command=someUnrelatedFunction, state=DISABLED)
下面是用于将验证函数绑定到条目的代码:
l_n.bind("<Return>",lambda name='l_n':validate(name))
l_t.bind("<Return>",lambda name='l_t':validate(name))
最后,这里是打包和验证功能:
l_n.pack()
l_t.pack()
def validate(name):
global v1,v2,n,t
if name=='l_n':
v1=True
s=l_n.get()
n=int(s)
l_n.delete(0,END)
elif name=='l_t':
v2=True
s=l_t.get()
t=float(s)
l_t.delete(0,END)
if v1==True and v2==True:
b1.config(state=NORMAL)
有什么问题吗?你知道吗
在tkinter中,当您进行绑定时,tkinter本身会向包含事件信息的回调添加另一个参数。因此,当您试图用lambda传递参数时,也应该考虑到这一点。你知道吗
相关问题 更多 >
编程相关推荐