Liebe Community,
ich habe ein Problem mit dem Text-Widget von Tk. Mein Programm führt eine Text-Analyse durch, die auf meinem Rechner ca. eine Minute lang dauert. Damit diese Minute aber nicht zu langweilig ist, habe ich ein Text-Widget eingefügt, um mir den Fortschritt des Programms anzeigen zu lassen. Das sieht ungefähr so aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use Tk;
use strict;
my $mw = MainWindow->new();
my $btnGo = $mw->Button(-text => 'Analyse starten',
-command => \&analysis_start)->pack();
my $txtLog = $mw->Text()->pack();
MainLoop;
sub analysis_start
{
$txtLog->insert('1.0', "Analyse gestartet. Erster Teil...");
analysis_part_1();
$txtLog->insert('1.0', "Jetzt kommt der zweite Teil...");
analysis_part_2();
$txtLog->insert('1.0', "Jetzt kommt der dritte Teil...");
analysis_part_3();
$txtLog->insert('1.0', "Fertig!");
}
Leider funktioniert das nicht so, wie ich mir das gedacht habe. Sobald ich den Butten klicke, verharrt er eine Minute lang in heruntergeklickter Position, bis die Funktion (analysis_start) fertig ist. Dann wird er wieder normal und erst dann kriege ich die Ausgabe zu sehen, die ich vorher immer zwischendurch per $txtLog->insert() eingefügt habe.
Könnt ihr mir sagen, was ich falsch mache?
Vielen Dank und viele Grüße
Benedikt