If the -colwidth is negative, it is in pixels. I subtracted a "fudge factor" to allow for the scrollbars. Change 5 in both places to be whatever you want and you will get that many evenly spaced columns.-cols => 5, ################# -colwidth=> -( ($pix_width-30)/5), ################# # note: not -colWidth
#!/usr/bin/perl -w use strict; use Tk; use Tk::TableMatrix; my $mw = MainWindow->new; $mw->configure(-title=> "Some Title"); my $pix_height = $mw->screenheight; my $pix_width = $mw->screenwidth; my $color_depth = $mw->screendepth; $mw->geometry("$pix_width"."x400+0+0"); ########### my $table_frame = $mw->Frame(-height=>'10',-width=>'30', -relief=>'groove',-borderwidth=>'3' )->pack(-expand=>1, -fill=>'both',-pady=>'0'); my %tMainHash; my $table = $table_frame->Scrolled('TableMatrix', -cols => 5, ################# -colwidth=> -( ($pix_width-30)/5), ################# -rows =>16, -variable => \%tMainHash, -state => 'disabled', # no direct editing of cells -resizeborders => 'col', -bg => 'white', -rowheight => 1, #make row display more compact.... -bd => [0,1,0,1], -justify => 'left', -drawmode => 'compatible', -wrap => 0, -relief => 'solid', -scrollbars=>'se', -exportselection =>0, )->pack(-expand =>1, -fill=>'both'); $table->rowHeight(0,2); #varies height of title row (0) $table->tagRow('title',0); $table->tagConfigure('title', -bd=>2, -relief=>'raised'); MainLoop;
In reply to Re: proportional resizing tk table
by Marshall
in thread proportional resizing tk table
by welle
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |