use strict; use warnings; use Tk; use Tk::NoteBook; my $rows; my $columns; #creating main window and font my $font = '{Calibri} 11'; my $mw=new MainWindow(-title => "Tab one",-background=>'Black'); $mw->minsize(qw(800 800)); #creating canvas my $canvas1 = $mw -> Canvas(-width=>800,-height=>550, -borderwidth => 2, -relief=>"raised",-bg=>"red")->pack(); my $canvas2 = $mw -> Canvas(-width=>800,-height=>250, -borderwidth => 2, -relief=>"raised",-bg=>"#8E8F97")->pack(); #creating table in canvas 1 my $table = $canvas1->Table(-rows => $rows,-columns => $columns, -scrollbars => 'se',-takefocus => 0)->pack( -expand => 1, -fill => 'both' ); #Arranging canvas 2 my $frame1= $canvas2->Frame(-relief=>'groove',-borderwidth=>3, -bg=>'blue')->pack(-side=>'top',-fill=>'x'); my $lb1= $frame1->Label(-text=>'Enter number of rows: ',-bg=>'blue',-foreground=>'white')->pack(-side=>'left'); my $tf1= $frame1->Entry(-width=>8,-bg=>'white')->pack(-side=>'left',-pady=>3); my $frame2= $canvas2->Frame(-relief=>'groove',-borderwidth=>3, -bg=>'blue')->pack(-side=>'top',-fill=>'x'); my $lb2= $frame2->Label(-text=>'Enter number of Columns: ',-bg=>'blue',-foreground=>'white')->pack(-side=>'left'); my $tf2= $frame2->Entry(-width=>8,-bg=>'white')->pack(-side=>'left',-pady=>3); my $frame3= $canvas2->Frame(-relief=>'groove',-borderwidth=>3, -bg=>'blue')->pack(-side=>'top',-fill=>'x'); my $btn3= $frame3->Button(-text=>"Enter", -command =>\&push_button)->pack(); #Filling the tabel according to rows and columns for(my $row=0;$row<$rows;$row++) { for(my $column=0;$column<$columns;$column++) { my $label=$canvas1->Label(-text=>"$row $column",-height=>2,-width=>10,-relief=>"raised",-background=>'white'); my $old = $table->put($row,$column,$label); } } sub push_button { $rows= $tf1->get(); $columns= $tf2->get(); } MainLoop;