LINUX.ORG.RU

tcl/tk - отрисовка


0

0

Объясните плз, к примеру -

label .lbl -text blablabla -textvariable text1
pack .lbl

...
...
...

set text1 qwerty
exec  "dolgo_vypolnjajushjajasja_programma"

и ведь пока программа не выполнится, хрен установится новая надпись.
Обломно, т.к. часто приходится гуевые скриптики писать, и Плиз вэйт там  - основная часть)
Что надо сделать для обновления СРАЗУ, не подскажете?
anonymous

set fd [ open "|my_long_play with args" r ]
fconfigure $fd -buffering line -blocking none
fileevent $fd readable "collect_out_and_check_terminate $fd"

надеюсь понятно объяснил ;-)

anonymous
()
Ответ на: комментарий от anonymous

В принципе понятно, тоько вместо none надо false, и нихрена не понятно, как отследить завершение программы. Т.к. в примере выше событие постоянно выполняется, и прога висит. Был бы весьма благодарен, если бы был дан пример ну, хотя бы со sleep

anonymous
()
Ответ на: комментарий от anonymous

учите матчасть ;-)

при завершениии дочерней программы(процесса) закрывается поток который вы читаете. при закрытии потока возникает событие, но читать нечего - обнаруживается eof..

такая метода универсальна и применяется не только в tcl..

anonymous
()

> и ведь пока программа не выполнится, хрен установится новая надпись. 1. Запускать exec как background job.

2. man 3tcl update

fk0
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.