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:
und so unter Windows:
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:
und so unter Windows:
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