Thread ItemStyles bei Tk::HList kombinieren (3 answers)
Opened by Schnuck at 2014-05-06 14:28

Kean
 2014-05-07 10:20
#175381 #175381
User since
2004-08-18
463 Artikel
BenutzerIn

user image
Hallo Schnuck,

ich hatte mal ein ähnliches Problem.
Generell kann man mit $style->configure( -background => "yellow" ); einzelne Attribute verändern. Problem dabei ist, dass sich (so war es zumindest bei mir) dann nicht nur die neu erzeugten Items so darstellen, sondern alle mit diesem Style erzeugten Items geändert wurden.

Dieses Problem zu umgehen, habe ich wie folgt gelöst:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use strict;
use warnings;
use Tk;
use Tk::ItemStyle;
use Tk::Hlist;

my $mw = MainWindow->new();

my $table = $mw->Scrolled( "HList",
                                 -header => 1,
                                 -columns => 1,
                               )->pack();


$table->header('create', 0, -text => 'Text');

for (my $cnt = 0; $cnt < 5; $cnt++)
        {
        $table->add($cnt);
        $table->itemCreate($cnt, 0, -text => $cnt, -style => $mw->ItemStyle('text', -background => "lightblue"));
        
        if ( $cnt % 2 == 0 ) { $table->itemCget($cnt, 0, -style)->configure( -background => "yellow" ); }
        }

        
MainLoop;

View full thread ItemStyles bei Tk::HList kombinieren