Thread Textaktualisierung über Widget-Grenzen
(3 answers)
Opened by peri at 2009-11-20 12:57
Hi all,
ich möchte über die Callback-Fkt eines Buttons eine Funktion ausführen, die diverse Jobs erledigt, die etwas Zeit in Anspruch nehmen. Um den interessierten Benutzer zwischendurch mal zu sagen, was da gerade abgeht, möchte ich ein Textfeld (Label) immer mal wieder aktualisieren. Mein Problem ist, dass dies erst am Ende der Callback-Fkt erfolgt. Wie löst man so was? Mein Code: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 use strict; use Tk; my $mw = MainWindow->new(); my $button = $mw->Button(-text => "do it", -command => \&callback ); my $var = "Waiting ..."; my $lab = $mw->Label(-textvariable => \$var); $lab->pack(); $button->pack(); MainLoop; sub callback { $var = "INFO: step 1, please wait ...\n"; $lab->configure(-textvariable => \$var); sleep 2; $var = "INFO: step 2, please wait ...\n"; $lab->configure(-textvariable => \$var); sleep 2; } |