2013-06-16 5 views
0

스핀 상자에 tkinter bind() 이벤트가있는 변수를 전달하려고합니다. 디버깅하는 동안 변수가 스핀 상자 bind() 이벤트 처리기 함수에 전달되지 못했습니다. 실제로 print var 처리기 함수의 라인 puteventqueue()은 스핀 상자에 표시된 값에 관계없이 (기본 스핀 상자 값)을 인쇄합니다.tkinter의 bind()가 예상 값을 반환하지 않습니다.

내 실수를 수정하는 방법에 대한 아이디어는 환영합니다!

def puteventqueue(var): 
    print 'spinbox has been clicked' 
    print var 

spinbox 정의 : 필터가

#spinboxes for color filters 
spinval = tk.IntVar() 
s = tk.Spinbox(root, from_=0, to=180, textvariable=spinval, increment=5) 
filters = spinval.get() 
s.grid(column=3, row=0) 
s.bind('<Button-1>', lambda event: puteventqueue(filters)) 

답변

2

때문에

spinbox 이벤트 핸들러 함수는 ... 나는 명백한 실수를 수행해야하지만, 나는 시간을 찾고 있었어요 이미 0으로 설정되고 변경되지 않았습니다. 다음

시도 :

s.bind('<Button-1>', lambda event: puteventqueue(spinval.get())) 
+0

감사합니다! 이제 나는 매우 어리 석다 .-) – Raoul

관련 문제