in reply to Modifying Tk widgets via references
well, here's the code i was talking about anyway (it works on linux fedora 7). If you need to believe about the memory thing, just try "Tk destroy memory" in PerlMonks or google.
Click the buttons alternately over and over!#!/usr/bin/perl -w use strict; use Tk; my $MW = new MainWindow(); my $TLi = $MW->Toplevel(); $TLi->state('withdrawn'); my $TLii = $MW->Toplevel(); $TLii->state('withdrawn'); my $Bi = $MW->Button(-text=>"Toplevel 1",-command=>sub{raiselower(1)}) +->pack(); my $Bii = $MW->Button(-text=>"Toplevel 2",-command=>sub{raiselower(2)} +)->pack(); MainLoop; sub raiselower { if (@_ == 1) { my $state = $TLi->state(); if ($state eq "withdrawn") {$TLi->state('normal')} else {$TLi->state('withdrawn')} } elsif (@_ == 2) { my $state = $TLii->state(); if ($state eq "withdrawn") {$TLii->state('normal')} else {$TLii->state('withdrawn')} } }
|
---|
In Section
Seekers of Perl Wisdom