이것은 내 코드입니다. 나는 그것이 실행 중일 때 ".display_message"를 표시하지 않는 문제에 직면하고 있습니다. proc torun {}이 작업을 완료 한 후에야 메시지가 나타납니다. Btw, 2000 년 이후 실제로 내 프로그램을 실행합니다. 내가 적용 할 수 없다고 생각하는 매우 긴 코드이므로 단순화하기 위해 제거했습니다. 제발 이걸 안내 해줘. 감사.프로그램 실행 중 목록 상자 또는 텍스트를 표시하는 방법
proc torun {} {
set total [.display_pc2 size]
.display_message insert end "test"
for {set x 0} {$x < $total} {incr x} {
set machine [.display_pc2 get $x]
.display_message insert end "Copy to $machine now. Please wait..."
.display_message see end
after 2000
.display_message insert end "Copy to $machine done"
.display_message see end
after 2000
}
}
하나는 지금까지'update'을 사용하지 특히 라이브러리 (패키지) 코드 http://wiki.tcl.tk/1255 를 볼 안됩니다. 짧은 이야기는'update'가 이벤트 루프를 다시 입력함으로써 이벤트 구동 코드에 의해 처리 된 이벤트의 재 순서화를인지 할 수 있다는 것입니다. – kostix
_outgoing_ 플러시에 가장 가까운 개념은'update idletasks'입니다 (일치하는 것은 정확하지 않지만 이유를 설명하기 위해서는 꽤 긴 에세이가 필요합니다). _both_ 방향의 플러시는 '업데이트'이며 재진입 코드로 수행중인 작업을 정확히 알지 않으면 위험합니다. (내가 뭘하는지 알기 때문에 프로덕션 코드에서'update'를 사용하지 않습니다.) –