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

Styx
 2009-12-26 13:18
#129715 #129715
User since
2003-11-01
16 Artikel
BenutzerIn
[default_avatar]
Hallo, erstmal vielen Dank, das hat mich ein wenig weiter gebracht.. Da ich allerdings auf Kriegsfuß mit den Geometriemanagern stehe ist mein Problem noch nicht 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 gerecht 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

ps.: 2x versehntlich als gast geposted
Last edited: 2009-12-26 13:20:14 +0100 (CET)

View full thread LabFrame & Widgetanordnung (pTk)