User since
2003-11-25
19
Artikel
BenutzerIn
Hallo
Folgendes Problem: Ich habe ein Script, der einige HTTP-Anfragen macht und die Auswertung dann grafisch ausgibt. Wenn dieser läuft, habe ich meistens ein anderes Fenster im Vordergrund. Wenn ich dieses nun wieder zu meine Script wechsle, sehe ich nichts, ausser den Rahmen.
Gibt es da eine möglichkeit, dass das Fenster beim Maximieren erneuert wird?
Ist schon fast OO, und ich weiss nicht ob Perl/Tk das beherscht.
User since
2003-08-04
5246
Artikel
ModeratorIn
du koenntest es mit einem der folgenden eventtypen versuchen (weiss nicht auswendig, welcher dafuer funktioniert):
x) FocusIn
x) Activate
und an dieses Ereignis eine Bindung hinzufuegen:
$mw->bind('Activate', \&UpdateMainwindow);
sub UpdateMainwindow {
$mw->update();
}
oder so aehnlich. Genauere Infos:
perldoc Tk::Widget
perldoc Tk::bind
User since
2003-11-28
3645
Artikel
ModeratorIn
Perl/Tk *ist* OO. Aber dein Problem hat damit nichts zu tun, sondern damit, dass waehrend des HTTP-Requests die MainLoop nicht mehr erreicht wird und somit auch kein Refresh gemacht wird. Eine Loesungsmoeglichkeit wuerde fork+pipe verwenden wie z.B.
hier beschrieben. Aber man muss bei fork und Tk immer sehr vorsichtig sein. Oder man verwendet POE.
User since
2003-08-04
5246
Artikel
ModeratorIn
wenn du mehrere Sachen parallel laufen lassen willst, koenntest du dir auch mal
POE anschauen; das soll man auch sehr gut in Tk einbinden koennen (habe das aber noch nie ausprobiert)
User since
2003-08-29
347
Artikel
BenutzerIn
Ja genau, und da gibts n Modul das heisst POE, das könntest du auch benutzen ;)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
User since
2003-11-25
19
Artikel
BenutzerIn
Danke für die (redundanten ;) ) Antworten.
Ich werde mir POE mal ansehen.\n\n
<!--EDIT|Discipulus|1070614155-->