#!/usr/bin/perl -w use Tk; $main = MainWindow->new(); # Container frame for dynamic subframes $fmain = $main->Frame(-borderwidth=>0)->pack(-side=>'top',-fill=>'both'); # Buttons and button containing frame $bframe = $main->Frame(-borderwidth=>0)->pack(-side=>'bottom'); $bframe->Button(-text=>'Frame 1',-command=>\&showframe1)->pack(-side=>'left'); $bframe->Button(-text=>'Frame 2',-command=>\&showframe2)->pack(-side=>'right'); # Dymanic subframes $frame1 = $fmain->Frame(-borderwidth => 0)->pack; $frame1->Label(-text => 'Frame One')->pack; #$frame1->UnmapWindow(); # Doesn't work here $frame2 = $fmain->Frame(-borderwidth => 0)->pack; $frame2->Label(-text => 'Frame Two')->pack; $frame2->UnmapWindow(); # Doesn't work here MainLoop; sub showframe1 { $frame2->UnmapWindow(); # DOES work here, though $frame1->MapWindow(); # elements are not "repacked" } sub showframe2 { $frame1->UnmapWindow(); # Same here, works but $frame2->MapWindow(); # doesn't "repack" }