Schrift
[thread]13128[/thread]

Meldung mit Timeout

Leser: 2


<< >> 3 Einträge, 1 Seite
Gast Gast
 2009-02-11 19:43
#118805 #118805
Hallo und schönen guten Abend

Ich möchte gern in einem Perl Script mit Tk eine Meldung über den Start des Scriptes ausgeben. Diese Meldung soll nach einer Zeit X z.B. 3 Sek ohne zutun des Nutzers verschwinden und mein Script läuft dann weiter.

Da ich noch nicht mit Tk gearbeitet habe bin ich nur soweit gekommen wie folgt:

Code: (dl )
1
2
3
4
my $fenster = MainWindow->new();
my $meldung = $fenster->Label(-text =>'Start Script', ... )->pack()
Bei Label werden noch Breite Höhe als Parameter üebrgeben
MainLoop();


-- mein Script --

Soweit läuft das auch, allerdings muss der User noch das Fenster wegklicken damit mein Script weiter läuft. Wie kann ich jetzt die Meldung so gestalten damit nach z.B. 3 sec das Fenster automatisch schließt und weiter läuft.

Vielen Dank im Voraus

Thomas

p.s. bin eigentlich Konsolenfreund habe mich mit Tk erst seid Heute befasst aber irgendwann ist immer das erstemal.
styx-cc
 2009-02-11 20:51
#118806 #118806
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Hi.

Hier ein Beispiel:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl -w
use strict;
use Tk;

my $mw = tkinit(-title => 'Test');

my ($top,$label);
my $btn = $mw->Button(-text => 'Topelevel oeffnen', -command => sub {
$top=$mw->Toplevel;
$label = $top->Label(-text => 'Ich bin ein Toplevel')->pack;
kill_toplevel($top);
})->pack;


MainLoop;

sub kill_toplevel {
my $top = shift;
$top->after(100*10, sub {$top->destroy})
}


MfG
Pörl.
Gast Gast
 2009-02-12 09:25
#118809 #118809
Hallo und Danke für die schnelle Hilfe

Das Beispiel funktioniert prima.

habe nur dahingehend modifiziert das ich in der Subroutine kill_toplevel gleich auch noch das MainWindow $mw nach der Zeit ins Nirwana schicke.

Danke

Thomas
<< >> 3 Einträge, 1 Seite



View all threads created 2009-02-11 19:43.