Tutorial zu Perl mit dem Tk-Modul

Kapitel 4 : Steuerelement - Entry


Zurück Index Weiter


Jetzt verwenden Sie das Steuerelement Entry zur Eingabe von Text. Dieses Steuerelement ist ein kleines einzeiliges Eingabefeld, das Tastatureingaben aufnimmt. Ein Beispielprogramm dazu:

eingabefeld.pl

#!/usr/bin/perl
use strict;
use warnings;

use Tk;

my $fenster = MainWindow->new();

$fenster->Entry()
         ->pack();

MainLoop();

So sieht das Ergebnis unter Linux/Unix aus:

tk4.png

und so unter Windows:

tk4_win.png

Die Methode Entry bedarf in diesem Beispiel wohl keiner Erklärung. Nun will man aber auch mal eine Eingabe verarbeiten. Dazu werden Sie alle drei bisher kennen gelernten Steuerelemente (Label, Button und Entry) in einem Programm verwenden:

namen_eingeben.pl

#!/usr/bin/perl
use strict;
use warnings;

use Tk;

my $fenster   = MainWindow->new();

my $text      = $fenster->Label(-text     => 'Bitte geben sie Ihren Namen ein  : ',
                                -height   =>  5,
                                -width    => 40,
                               );
my $eingabe   = $fenster->Entry();
my $schalter  = $fenster->Button(-text    => 'OK',
                                 -height  => 1,
                                 -width   => 4,
                                 -command => \&eingabe_bearbeiten,
                                );
my $schalter2 = $fenster->Button(-text    => 'Ende',
                                 -height  => 1,
                                 -width   => 4,
                                 -command => sub { exit },
                                );

$text     ->pack();
$eingabe  ->pack();
$schalter ->pack();
$schalter2->pack();

MainLoop();

sub eingabe_bearbeiten {
    print "Hallo " . $eingabe->get , "\n";
    $eingabe->delete(0, 'end');
}

So sieht das Ergebnis unter Linux/Unix aus:

tk5.png

und so unter Windows:

tk5_win.png

Ich habe das Programm wieder so einfach wie nur möglich gehalten. Neu dürfte Ihnen der Button OK sein. Speziell die Option

-command => \&eingabe_bearbeiten

Hier sehen Sie nun eine Möglichkeit wie Sie Unterfunktionen aus den Steuerelementen aufrufen können. Im Fachjargon haben wir eine Callback-Funktion eingerichtet. Die Übersetzung ins Deutsche erklärt schon den Sinn dieser Funktion. Die Funktion wird aufgerufen und anschließend abgearbeitet und kehrt dann wieder zurück. Sie werden im Verlaufe dieses Tutorials noch mehr mit Callback-Funktionen zu tun haben.

In unserem Fall wird die Funktion eingabe_bearbeiten aufgerufen, die auf der Konsole ausgibt was Sie in dem Fenster eingegeben haben und den Inhalt von Entry() im Fenster wieder löscht.

Mehr zum Steuerelement Entry findet man unter man Tk::Entry und perldoc Tk::Entry


Zurück Index Weiter


-- ChristianDuehl - 09 Dec 2003

-- ChristianDuehl - 18 Dec 2003
Topic attachments
I Attachment Action Size Date Who Comment
eingabefeld.pl.txttxt eingabefeld.pl.txt manage 0.1 K 2003-12-09 - 18:03 ChristianDuehl Programm eingabefeld.pl
namen_eingeben.pl.txttxt namen_eingeben.pl.txt manage 1.0 K 2003-12-09 - 18:04 ChristianDuehl Programm namen_eingeben.pl
Topic revision: r5 - 2003-12-18 - 17:09:27 - ChristianDuehl
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.