ein Kapitel zurück                                           ein Kapitel weiter

Jetzt wollen wir ein weiteres Steuerelement der MainWindow-Methode verwenden, nämlich Button was einen Schalter darstellen soll.....

#!/usr/bin/perl -w

use strict;

use Tk;

my $fenster = MainWindow->new;

my $schalter = $fenster->Button("-text" => "Klick mich",
"-command" => sub { print "Zurück in der Konsole\n"exit 0; } );
$schalter->pack();

MainLoop;


So siehts aus :

Button Tk und Perl


Im Gegensatz zu unserem Beispiel mit dem Label haben wir hier die MainWindow Methode Button verwendet.......

my $schalter = $fenster->Button("-text" => "Klick mich",
"-command" => sub { print "Zurück in der Konsole\n"exit 0; } );


Damit erzeugen wir einen Schalter auf dem der Text "Klick mich" steht und bei Betätigung das Fenster schließt und eine Ausgabe in der Konsole macht und sich somit beendet (exit 0). Dafür sorgt im Button "-command" der eine Perl Unterfunktion aufruft bei Betätigung. Dies ist übrigens ein typischer Tk-Stil.....

"-option" => Anweisung     

Hier ein paar Widget-Optionen die wir noch häufiger anwenden werden.......

Widget-Option Bedeutung
-anchor => "n" | "ne" | "e" | "se" | "s" | "sw" | "w" | "nw" | "center" Der Text wird an dieser Position verankert.
-background => Farbe Legt die Hintergrundfarbe des Widget fest.
-borderwidth => Betrag Ändert die Breite des Rahmens. -
-command => Callback Aktiviert die Callback-Funktion, wenn das Widget angeklickt wird.
-height => Betrag , -width => Betrag Ändert die Höhe oder Breite des Widgets.
-justify => "left" | "right" | "center" Ausrichtung von mehrzeiligen Text.
-relief => "flat" | "groove" | "raised" | "ridge" | "sunken" | "solid" Ändert den Kantentyp.
-state => "normal" | "disabled" | "active" Der Status des Widgets.
-text => "Text" Der Textstring, der im Widget angezeigt wird.
-textvariable => \$text Wie -text , nur das sich der Text ändert, wenn $text sich ändert.
-title => "Titel" Gibt dem Widget einen Titel. Funktioniert nur bei Frames und Fenstern.


Wollen wir uns doch auch mal ansehen wie wir den Text des Buttons während der Ausführung des Programms ändern können. Dafür haben wir die Option......

-textvariable => \$variable

Hierzu ein Beispiel bei dem bei jedem Anklicken des Buttons die aktuelle Uhrzeit und Datum auf dem Button steht.........

#!/usr/bin/perl -w

use strict;
use Tk;

my $main = MainWindow->new;

$_= localtime(time);
$main->Button(-textvariable => \$_,
              -command => sub { $_ = localtime(time) })->pack;

MainLoop;


So siehts aus :

Button localtime Tk und Perl


Die Funktion localtime gibt uns das aktuelle Datum mit Uhrzeit wieder.

Ein Tipp dazu. Scheuen sie sich nicht mit diesen Optionen herumzuspielen. Diese Laden sie gerade dazu ein.

Mehr dazu unter : man Tk::Button

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf