User since
2005-04-13
625
Artikel
BenutzerIn
Und dann eben ein $frame->update(); machen um das frame zu aktualisieren, hab ich das jetzt richtig verstanden???
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
User since
2003-08-15
2653
Artikel
BenutzerIn
das update brauchst du nicht... du veränderst ja das Frame nicht, du richtest nur ein Label nach dem Frame aus... ein update bzw configure würdest du brauchen, wenn du am Frame selbst etwas verändern wollen würdest.
Machst du aber nicht. Du setzt nur ein Label in einen statischen, eckigen "Kasten" ohne diesen zu verändern.
das einfachste beispiel hast du ja oben schon selbst gezeichnet: Du setzt die Buttons ja auch in ein Frame welches schon existiert. Updaten brauchst du es ja auch dort nicht ;-)\n\n
<!--EDIT|Froschpopo|1114762202-->
User since
2003-08-04
5866
Artikel
ModeratorIn
update musst Du nur aufrufen, wenn Du eine Veränderung sehen willst und nicht gleich wieder in der Eventschleife landest (die ruft nämlich eh
update auf).
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
User since
2003-08-11
457
Artikel
BenutzerIn
Vielleicht hilft dir dieses Beispiel weiter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
my(@labels);
my $mw = tkinit;
my $f = $mw->Frame()->pack();
push(@labels, $f->Label(-text => $_))
for qw(eins zwei drei vier fuenf);
$labels[0]->pack;
$mw->Button(-text => 'Prev', -command => [\&slide, 0])->pack(-side => 'left');
$mw->Button(-text => 'Next', -command => [\&slide, 1])->pack(-side => 'left');
MainLoop;
sub slide {
$labels[0]->packForget; # Label aus Frame entfernen
$_[0] ? push(@labels, shift @labels) # Labels rotieren (next | prev)
: unshift(@labels, pop @labels);
$labels[0]->pack; # Label in Frame packen
}
Grusz Christian.
,,Das perlt aber heute wieder...'' -- Dittsche