TreeViewとListStoreを使用してGUIテーブルを表示しています。定義された行の色を設定するにはどうすればよいですか?それを行う方法のサンプルはありますか?グーグルで私はSimpleListだけの例を見つけました、しかし私はListStoreのためにそれを必要とします。
質問する
968 次
1 に答える
1
TreeViewで色を設定する方法は2つあります。1つ目は、色を保持する列を設定してから、TreeViewColumn"set_attributes"のメソッドを使用してセルレンダラーの色を設定します。
my $list_store = Gtk2::ListStore("Glib::String", "Glib::String"); # keep one note and color
my $tree_view = Gtk2::TreeView->new($list_store);
my $col = Gtk2::TreeViewColumn->new;
my $rend = Gtk2::CellRendererText->new;
$col->pack_start($rend, TRUE);
$col->set_attributes($rend,'text' => $i++, 'background' => 1,);
$tree_view->append_column($col);
2番目の方法は次のとおりです。色を保持するために追加の列を使用せずに、TreeViewColumnのメソッドset_cell_data_funcを使用します。
$col->set_cell_data_func($rend, sub {
my ($column, $cell, $model, $iter) = @_;
if ($model->get($iter, 0) eq 'Good') {
print "Red\n";
$cell->set('background' => 'red');
} else {
$cell->set('background' => 'white');
}
});
于 2012-12-28T13:07:47.563 に答える