use strict; use warnings; use Tk; use Tk::TableMatrix; my $top = MainWindow->new; my $arrayVar = {}; foreach my $row ( 0 .. 7 ) { foreach my $col ( 0 .. 3 ) { $arrayVar->{"$row,$col"} = "r$row,c$col"; } } my $tmx = $top->Scrolled( 'TableMatrix', -rows => 7, -cols => 3, -variable => $arrayVar, -resizeborders => 'both', -titlerows => 1, -bg => 'white', ); #--- my $c = 2; foreach my $r ( 1 .. 7 ) { my $tc = build_text($top); $tmx->windowConfigure( "$r,$c", -sticky => 's', -window => $tc ); } $tmx->colWidth( $c, 20 ); $tmx->pack( -expand => 1, -fill => 'both' ); Tk::MainLoop; sub build_text { my $frame = shift; my $tc = $frame->Text( -bg => 'white', ); $tc->tagConfigure( 'blue', -foreground => 'blue', ); $tc->insert('insert', 'Text with '); $tc->insert('insert', ' blue ', 'blue'); $tc->insert('insert', ' word '); return $tc; }