Use Tk::Table;
ウィジェットの定義は
my $table_frame = $mw->Frame()->pack();
my $table = $table_frame->Table(-columns => 8,
-rows => 4,
-fixedrows => 1,
-scrollbars => 'oe',
-relief => 'raised');
という感じ。オプションの意味はまだ全部は分からず。scrollbarsはnが上、sが下、wが左、eが右にスクロールバーをつける。reliefは形状、flat (平坦)、raised (出っぱり)、sunken (引っ込み)、groove (溝)、 ridge (土手)となっている。
で、タイトル行をまず入力するには
foreach my $col (1 .. 8)
{
my $tmp_label = $table->Label(-text => "COL " . $col, -width => 8, -relief =>'raised');
$table->put(0, $col, $tmp_label);
}
テキストデータの場合、labelウィジェットを作成しputで入れていく感じになるようだ。次に内容のデータは
foreach my $row (1 .. 8)最後のpack()で反映、はいつも通り。あとputしてpackしていけば追加していけるが、最初に指定した行数をこえて追加したい時はどうすればよいのか、まだわからない。
{
foreach my $col (1 .. 8)
{
my $tmp_label = $table->Label(-text => $row . "," . $col,
-padx => 2,
-anchor => 'w',
-background => 'white',
-relief => "groove");
$table->put($row, $col, $tmp_label);
}
}
$table->pack();
Tableを空っぽにするには、
$table->clear
Tableの各cellの選択、コピペはできないようだ。
No comments:
Post a Comment