Thread LabFrame & Widgetanordnung (pTk) (6 answers)
Opened by styx-cc at 2009-12-25 20:18

Gast styx
 2009-12-26 13:17
#129714 #129714
Hallo, erstmal vielen Dank, das hat mich ein wenig weiter gebracht.. Da ich allerdings auf Kriegsfuß mit den Geometriemanagern stehe ist mein Problem noch nciht ganz geloest.
Erstmal der aktuelle Code mit etwas mehr Zusammenhang:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/perl -w
use strict;
use Tk;
use Tk::LabFrame;
use Tk::Pane;

my $self = {};
$self->{'mw'} = tkinit();

my $fr_lframe = $self->{'mw'}->LabFrame(-label => 'Friends')
->pack(-side => 'bottom', -fill => 'x');

$self->{'wgt'}->{'fr_frame'}  = $fr_lframe->Scrolled('Frame', -scrollbars => 'oe', -background => 'red', -sticky => 'nsew')
->pack(-side => 'top', -fill => 'both', -expand => 1);

update_friends($self, 'list#test_user#freddy#erik#klaus#dieter#peter');

MainLoop;

sub update_friends {
  my $self = shift;
  my $msg  = shift;
  
  if ($msg =~ /^list#(.*)/) {
    my @friend_list = sort split /#/, $1;

    $self->{'wgt'}->{'fr_frame'}->gridPropagate(0);
    my ($row, $col) = (0, 0);
    for my $friend (@friend_list) {
      print "R: $row | C: $col\n";
      $self->{'wgt'}->{'fr_frame'}->gridRowconfigure($row, -weight => 1);
      $self->{'wgt'}->{'fr_frame'}->Label(-text => "- $friend", -font => 'Arial 7.5', -foreground => 'blue', -justify => 'left')
      ->grid(-row => $row, -column => $col++, -sticky => 'ew');

      if ($col > 1) {
        $col = 0;
        $row++;
      }
    }
    $self->{'wgt'}->{'fr_frame'}->gridColumnconfigure(0, -weight => 1);
    $self->{'wgt'}->{'fr_frame'}->gridColumnconfigure(1, -weight => 1);
  }
}


Eigentlich will ich nur, das grid 100% des im Frame zur Verguegung stehenden Platzes auch ausnutzt, diesen gercht an die Spalten verteilt und das erste Element links oben erscheint. Mit ->pack(-side => 'left', -anchor => 'n') klappt das ganz gut, allerdings bietet sich grid hier ja wesentlich mehr an, als pack.

Verzweifelte Gruesse und vielen Dank.
MfG

View full thread LabFrame & Widgetanordnung (pTk)