2017-09-09 1 views
-1

제목에 모든 것이 있다고 생각합니다.
나는 거기에 오기 전에 대답을 찾기 위해 위에서 아래로 월드 와이드 웹을 탐험했다. 나는 그것을 찾을 수 있도록 도와 줄 수 있기를 바랍니다.
그래서 여기에 답변에 접근하지만 여전히 작동하지 않는 코드 조각이 있습니다 (항목을 입력 한 후에 항목 키를 누르면 아무런 오류 메시지도 나타나지 않지만 코드가 적용되지 않습니다.) : 당신이 바인딩을 수행 할 때, 자체 Tkinter를하는 이벤트의 정보를 보유 콜백 또 다른 인수를 추가 는 Tkinter에서Enter 키를 두 개의 항목과 동일한 기능으로 바인드하는 방법은 무엇입니까?

from tkinter import * 

fi = Tk() 
l_n = Entry(fi) 
l_t = Entry(fi) 
b1 = Button(fi, cursor="hand2", overrelief=GROOVE, text="Run", command=windows_managing, state=DISABLED) 
l1=Label(fi, text="Amount of lines to sort") 
l2=Label(fi, text="Inter-waiting time") 

l_n.bind("<Return>",lambda name='l_n':validate(name)) 
l_t.bind("<Return>",lambda name='l_t':validate(name)) 

l1.pack() 
l_n.pack() 
l2.pack() 
l_t.pack() 
b1.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)  
+0

원하는 방식으로 작동하지 않습니다. 코드는 ''이벤트를 두 위젯 모두에 바인딩합니다. – jedwards

+0

"작동하지 않는다"는 것은 무엇을 의미합니까? 그것은 추락합니까? 잘못된 결과를 반환합니까? –

+0

작동하지 않는 것으로 편집했습니다. –

답변

1

. 따라서 λ를 매개 변수로 전달하려고 할 때이를 고려해야합니다.

l_n.bind("<Return>", lambda event, name='l_n': validate(name)) 
l_t.bind("<Return>", lambda event, name='l_t': validate(name)) 
+0

감사합니다. boi! –

관련 문제