2012-04-28 2 views
2

항목의 텍스트 입력 유효성을 검사하려고합니다.TK/Tcl에서 항목 유효성 검사

entry $w.e -validate key -vcmd "entryChanged $w.l $w.e" 

다음 콜백이 정의되어 있습니다.

proc entryChanged {l e} { 
    puts [$e get] 
    return 1 
} 

문제는이 반환 새로운 값으로 항목의 이전 값이 검증이 끝날 때까지 설정되지 얻을 수 있습니다. 내 질문은 어떻게 새로운 가치에 접근 하는가? (유효성을 검사 할 값) -textvariable과 관련이 있다고 생각하지만, 이에 대한 많은 문서를 찾을 수 없습니다.

답변

5

entry documentation의 유효성 검사 섹션을 통해 잘 읽어야합니다. 예를 들어 다음과 같이 입력하십시오 :

... -vcmd {entryChanged %W %s %P} 

proc entryChanged {widget_name old_value new_value} { 
    puts "widget name = $widget_name" 
    puts "previous value = $old_value" 
    puts "edited value = $new_value" 
    return true 
} 
관련 문제