Schrift
[thread]4974[/thread]

Neues MainWindow öffnen, altes schließen



<< >> 9 Einträge, 1 Seite
J-jayz-Z
 2005-04-28 11:15
#43763 #43763
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

kann ich in Tk irgendwie, wenn man beispielsweise einen Button das erste mal klickt, ein Popup mit einem GIF drinnen öffnen und dieses dann nach beispielsweise 5 sekunden wieder schließen?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
renee
 2005-04-28 12:19
#43764 #43764
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Als Anfang...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#! /usr/bin/perl

use strict;
use warnings;
use Tk;

my $mw = MainWindow->new();
$mw->Button(-text => 'offen', -command => \&topl)->pack();

MainLoop;

sub topl{
 my $toplevel = $mw->Toplevel(-title => 'Test');
 local $SIG{ALRM} = sub {$toplevel->destroy()};
 alarm(6);
}
\n\n

<!--EDIT|renee|1114676414-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2005-04-28 12:47
#43765 #43765
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Du kannst auch Tks after-Funktion verwenden.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2005-04-28 12:48
#43766 #43766
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
...Was wahrscheinlich besser ist...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2005-04-28 12:53
#43767 #43767
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich tipp mal drauf, dass die intern auch alarm benutzt, oder etwas ähnliches, man kann jedenfals feinere Zeitunterteilungen verwenden.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2005-04-28 13:24
#43768 #43768
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich glaube nicht, dass after und repeat alarm() verwenden. Die beiden Methoden unterbrechen *niemals* ein laufendes Programm. Der Callback von after und repeat kann nur ausgefuehrt werden, wenn das Programm sich in der MainLoop befindet und schlaeft, oder wenn update() aufgerufen wird.
Crian
 2005-04-28 19:03
#43769 #43769
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ach ja. Dann wird das wohl "nur" einen Event für die Loop erzeugen.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Froschpopo
 2005-04-29 00:10
#43770 #43770
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
[quote=ptk,28.04.2005, 11:24]Ich glaube nicht, dass after und repeat alarm() verwenden. Die beiden Methoden unterbrechen *niemals* ein laufendes Programm. Der Callback von after und repeat kann nur ausgefuehrt werden, wenn das Programm sich in der MainLoop befindet und schlaeft, oder wenn update() aufgerufen wird.[/quote]
ist das nicht fast schon sowas wie ein Mini-Thread ? Wenn der laufende Prozess dadurch nicht beeinflusst wird, dann muss sich after,-repeat ja das Script irgendwie vorher kopieren um zu wissen was darin vorkommt, oder steh ich aufm schlauch...?\n\n

<!--EDIT|Froschpopo|1114719049-->
ptk
 2005-04-29 01:14
#43771 #43771
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ein richtiger Thread ist das nicht, weil du bei einem after/repeat-Callback sicher sein kannst, dass er bis zu Ende ausgefuehrt wird, ohne dass ein anderer Callback dazwischenfunkt. Es sei denn, update() wird im Callback aufgerufen. Ein echter Thread kann ohne eigenes Zutun von anderen Threads unterbrochen werden.
<< >> 9 Einträge, 1 Seite



View all threads created 2005-04-28 11:15.