Tutorial zu Perl mit dem Tk-Modul
Kapitel 2 : Steuerelement - Label
Zurück Index Weiter
Als erstes erstellen wir das einfachste
Hallo Welt - Programm:
Wir erzeugen
ein neues Fenster (ein
MainWindow), in dem
Hallo Welt steht.
Damit dieser Textzug dort "stehen" kann, bedarf es eines Fensterelements, das
ihn aufnimmt, nämlich des Fensterelementes
Label:
|
hw1.pl
|
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
my $fenster = MainWindow->new();
$fenster->Label(-text => 'Hallo Welt')->pack();
MainLoop();
|
So sieht das Ergebnis unter Linux/Unix aus:
und so unter Windows:
Zuerst binden Sie die Bibliothek von Tk mittels
use Tk;
ein. Als nächstes erzeugen Sie mit
my $fenster = MainWindow->new();
das Hauptfenster (MainWindow) mit Hilfe von
new, dem Konstruktor der Klasse vom MainWindow-Objekt.
Die Referenz dazu befindet sich ganz einfach in der skalaren Variablen
$fenster.
Das bedeutet, dass Sie mit Hilfe der skalaren Variable
$fenster immer auf unser Hauptfenster
zugreifen können.
Dies machen Sie bereits in der nächsten Zeile mit
$fenster->Label(-text => 'Hallo Welt')->pack();
Damit erzeugen Sie das
Steuerelement Label (Label steht für ein Textfeld).
Diese Steuerelement beinhaltet den Text 'Hallo Welt' (
-text => "Hallo Welt").
Damit dieser
Text nun auch in dem Hauptfenster (MainWindow)
$fenster angezeigt wird,
müssen Sie noch die
Methode pack() (unser Geometriemanager) des Fenster-Objekts aufrufen.
Man sollte aber auch für den Label eine extra Referenz einrichten um die Übersicht zu bewahren
(es sei denn man ist sich sicher, dieses Label nie wieder ändern zu müssen):
|
hw2.pl
|
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
my $fenster = MainWindow->new();
my $text = $fenster->Label(-text => 'Hallo Welt');
$text->pack();
MainLoop();
|
Dies Programm bewirkt dasselbe wie das erste Programm.
Zu guter letzt wird in jedem Programm mit Tk die Methode
MainLoop aufgerufen.
MainLoop nimmt die Nachrichten die das Hauptfenster erhält auf und verarbeitet diese weiter.
Mehr zum Steuerelement Label findet man unter
man Tk::Label und
perldoc Tk::Label
Zurück Index Weiter
--
ChristianDuehl - 09 Dec 2003
--
ChristianDuehl - 23 Jan 2004