Thread Text-Widget als Log-Fenster (2 answers)
Opened by false_friend at 2011-05-14 23:51

false_friend
 2011-05-14 23:51
#148611 #148611
User since
2011-03-21
24 Artikel
BenutzerIn
[default_avatar]
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:

Code: (dl )
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

View full thread Text-Widget als Log-Fenster