in reply to Set background on Tk::Tree nodes

-bg is not an option for add(), but you are close, just need to define ItemStyle.

use Tk; use Tk::Tree; use Tk::ItemStyle; use warnings; use strict; my $main = MainWindow->new (-title => "Test tree"); my $tree = $main->ScrlTree(-itemtype => 'text', -separator => '/', -s +crollbars => "osoe"); my $red_style = $tree->ItemStyle('text', -refwindow => $tree, -bg => ' +red'); my $green_style = $tree->ItemStyle('text', -refwindow => $tree, -bg => + 'green'); $tree->add(1, -text => 'abcd', -itemtype => 'text', -style => $red_sty +le); $tree->add(2, -text => '1234', -itemtype => 'text', -style => $green_s +tyle); $tree->autosetmode; $tree->close (1); $tree->pack(-fill=>'both',-expand => 1); MainLoop;

Replies are listed 'Best First'.
Re^2: Set background on Tk::Tree nodes
by GrandFather (Saint) on Jul 18, 2005 at 03:30 UTC

    Excellent, just what I needed to know.

    Follow up question: How do I use an RGB value to set the color?


    Perl is Huffman encoded by design.

      Just specify RGB in the format of '#rrggbb', for example, yellow would be '#FFFF00'.

      use Tk; use Tk::Tree; use Tk::ItemStyle; use warnings; use strict; my $main = MainWindow->new (-title => "Test tree"); my $tree = $main->ScrlTree(-itemtype => 'text', -separator => '/', -s +crollbars => "osoe"); my $yellow_style = $tree->ItemStyle('text', -refwindow => $tree, -bg = +> '#FFFF00'); my $green_style = $tree->ItemStyle('text', -refwindow => $tree, -bg => + 'green'); $tree->add(1, -text => 'abcd', -itemtype => 'text', -style => $yellow_ +style); $tree->add(2, -text => '1234', -itemtype => 'text', -style => $green_s +tyle); $tree->autosetmode; $tree->close (1); $tree->pack(-fill=>'both',-expand => 1); MainLoop;

        and again I say thank you. My workmates thank you, and I thank you. Thank you!


        Perl is Huffman encoded by design.