|
|
Grafische Oberfläche: TkDieser Ausflug in die Welt der grafischen Programme kann natürlich das Thema nicht völlig erschöpfen. Es macht aber einfach Spaß, wenn man sieht, wie schnell man mit Perl grafische Oberflächen erstellen kann. Um mit Perl X-Clients zu schreiben, bedienem Sie sich des Moduls Tk. An sich wurde Tk für die Skriptsprache Tcl entwickelt. Aber auch mit Perl können Sie Tk benutzen. Das folgende Beispiel erstellt ein Fenster mit einem Label, also einer Anzeige für Text, in der das Wort »Huhu« steht. Darunter erscheint ein Button mit der Aufschrift »Schluss«, der das Programm beendet.
Im ersten Schritt wird das Hauptfenster generiert. Dabei wird die Methode new der externen Klasse MainWindow verwendet um ein Fenster zu erzeugen, das anschließend über die Objektvariable $meinFenster erreichbar ist. Falls sich das für Sie sehr nach objektorientiertem Vokabular anhört, liegen Sie richtig. Mit Perl können Sie durchaus objektorientierte Programmierung betreiben. Dann wird nacheinander die Methode Label und Button aufgerufen, die ein entsprechendes Element generieren.
#!/usr/bin/perl -w use Tk;
my $meinFenster = MainWindow->new;$ [tex2html_wrap_inline16001]meinFenster->Label( -text=>"Huhu" )->pack; $meinFenster->Button(-text => "Schluss", -command => [$ [tex2html_wrap_inline16003]meinFenster => 'destroy'] )->pack; MainLoop; Gerade beim Button ist schön zu sehen, dass bei der Erstellung bereits alle relevanten Eigenschaften eines Buttons erzeugt werden, die Beschriftung (text) und die aufzurufende Funktion bei Betätigung des Buttons. Letzteres führt dazu, dass das Fenster zerstört und damit das Programm beendet wird. Zu guter Letzt läuft das Programm in die allen grafischen Oberflächen typische Endlosschleife, hier MainLoop. Das bedeutet, dass das Programm nicht mehr von sich aus agiert, sondern auf die Benutzeraktivitäten wartet und dann mit den hinterlegten Rückruffunktionen reagiert. Sie finden im Listing zwei ungewöhnliche Pfeile, die im bisherigen Kapitel nicht behandelt wurden. Der Pfeil, der sich aus Bindestrich und Größerzeichen zusammensetzt, kann man sich als Zeiger auf Bestandteile grafischer Ojekte vorstellen. So kann ein Fenster Funktionen aufrufen, die sich auf das Fenster beziehen oder Sie können die zum Fenster gehörigen Variablen auslesen. Der zweite Pfeil, der aus einem Gleichheits- und einem Größerzeichen besteht, ist einfacher zu erläutern. An sich kann man ihn sich als Ersatz für ein Komma vorstellen. Sie können ihn auch durch ein Komma ersetzen. Der Pfeil hat den Vorteil, Parameterpaare deutlicher hervorzuheben. So bezieht sich das »Huhu« auf die Option -text.
Die Funktion
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|