Lhamo_rin has asked for the wisdom of the Perl Monks concerning the following question:

I am making my first attempt at Perl Tk and am running into problems with building frames. The below script is part of a larger program that should bring up a main window with two frames in it. Unfortunately it brings up a blank main window with no label widgets or buttons. Can you tell me what I am doing wrong?


my $mw = MainWindow->new(); $frame1 = $mw->Frame; $frame1->Label(-text => "Data saved at:")-> pack(); for (@info) { $frame1->Label(-text => $_)-> pack(); } $frame2 = $mw->Frame(-borderwidth => 2, -relief => 'groove'); $frame2->Label(-text => "Data to Restore:")-> pack(); $frame2->Label(-text => "Point Saved Current")-> pack(); $frame2->Label(-text => $arrays->[0][0])-> pack(); $frame2->Label(-text => $arrays->[1][0])-> pack(); $frame2->Label(-text => $arrays->[2][0])-> pack(); $frame2->Label(-text => $arrays->[3][0])-> pack(); $frame2->Button(-text => "Restore", -command => \&restore_data)-> pack +(); $frame2->Button(-text => "Cancel", - command => sub { exit})-> pack(); $mw->title("Data Restore"); MainLoop;

edited: Wed Jun 25 13:43:38 2003 by jeffa - closed code tag, s/

Replies are listed 'Best First'.
Re: Tk::frames
by crouchingpenguin (Priest) on Jun 25, 2003 at 12:07 UTC

    You need to pack frames as well.

    $frame1 = $mw->Frame->pack(); $frame2 = $mw->Frame(-borderwidth => 2, -relief => 'groove')->pack();

    "Never be afraid to try something new. Remember, amateurs built the ark. Professionals built the Titanic."