Leser: 30
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
#!/usr/bin/perl use Tk; use Tk::Tree; my $mw = MainWindow->new( -title => 'Tree', -width => 800, -height=> 600); my $tree = $mw->Tree( font => 'Courier 14', wideselection => 0, background => white, selectbackground => grey)->place( -x => 0, -y => 0, -width => 10000, -height => 1000); # Zeilen in Verzeichnisbaum einfügen foreach(qw (1000 1500 1550 1550)) { my $l = $_; $l =~ s/0//g; if ( $l eq '15') { $l =~ s/(.)(.).*/$1.$2/g; } if ( $l eq '155') { $l =~ s/(.)(.)(.).*/$1.$2.$3/g; } $tree->add($l, -text => $_); } # Weichen stellen $tree->autosetmode(); #Ast schließen #$tree->close("1"); # do create window MainLoop;
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
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
use Tk::Tree;
my $mw = MainWindow->new( -title => 'Tree',
-width => 800,
-height=> 600);
my $tree = $mw->Tree(
font => 'Courier 14',
wideselection => 0,
background => 'white',
selectbackground => 'grey'
)->place(
-x => 0,
-y => 0,
-width => 10000,
-height => 1000
);
# Zeilen in Verzeichnisbaum einfügen
$tree->add('1000', -text => '1000',);
$tree->add('1000.1500', -text => '1500',);
$tree->add('1000.1500.1550', -text => '1550',);
$tree->add('1000.1500.1550-1', -text => '1550',);
# Weichen stellen
$tree->autosetmode();
#Ast schließen
#$tree->close("1");
# do create window
MainLoop;
2009-08-08T15:24:10 pktmZuerst:
Was steht denn in deiner DB?
2009-08-08T15:41:40 leo112009-08-08T15:24:10 pktmZuerst:
Was steht denn in deiner DB?
Die Werte kommen so wie in meinem Eingangspost. Die Veranschaulichung zeigt das was ich abbilden möchte. Darin ist erkennbar, dass bspw. das 1000er mehrfach kommen kann.
Vielleicht sollte ich die Werte vorher fortlaufend nummerieren?
1
2
3
4
5
# Zeilen in Verzeichnisbaum einfügen
$tree->add('1000', -text => '1000',);
$tree->add('1000.1500', -text => '1500',);
$tree->add('1000.1500.1550', -text => '1550',);
$tree->add('1000.1500.1550-1', -text => '1550',);
2009-09-08T08:20:49 CrianBei der Dokumentation findet sich auch das widget-Beispielprogramm.
QuoteDas ist - neben dem Buch Mastering Perl/Tk - oft auch eine interessante Quelle.
2009-09-08T09:11:39 leo11Was meinst du? widget.bat? locate widget.bat zeigt mir keinen Treffer. Würdest du ggf. einfach mal den Code posten?