ein Kapitel zurück                                           ein Kapitel weiter

Wir haben ja bereits kurz gesehen wie wir Listboxen einsetzen. Richtig funktional werden diese aber erst mit Hilfe einer Scrollfunktion einer Scrollbar.
Sehen wir uns also ein Beispiel an wie wir durch eine Liste scrollen können............

 #! /usr/bin/perl -w

use strict;
use Tk;

my $main = MainWindow->new;
my $box = $main->Listbox(-height => 5);

my @items = qw(Eins Zwei Drei Vier Fünf Sechs Sieben Acht Neun Zehn);
foreach (@items) {
   $box->insert('end'$_);
   }

my $scroll = $main->Scrollbar(-command => ['yview', $box]);
$box->configure(-yscrollcommand => ['set', $scroll]);
$box->pack(-side => 'left', -fill => 'both', -expand => 1);
$scroll->pack(-side => 'right', -fill => 'y');

MainLoop;



So siehts aus :

Scrollbar und Listbox


Entscheidend sind die beiden Zeilen............

 my $scroll = $main->Scrollbar(-command => ['yview', $box]);
 $box->configure(-yscrollcommand => ['set', $scroll]);

Das Kommando ['yview', $box] in der Scrollbar bedeutet soviel das wir den "Scrollbutton" in y-Richtung, also Auf-und Abbewegen können. Der Inhalt der dabei mitbewegt wird ist die Referenz auf die Listbox $box. Wenn Beispielsweise schreiben würden ['xview', $box] würde sich die Scrollbar nicht mehr bewegen lassen da die x-Richtung aktiviert haben. Die Listbox müssen wir auch noch mit......

-yscrollcommand => ['set', $scroll]      

...auf die y-Richtung und sozusagen verbinden mit der Scrollbar. configure(..) werden wir auch noch häufiger sehen. Damit ist es uns möglich Widgets-Optionen zu ändern.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf