Rheinwerk Computing < openbook >
Rheinwerk Computing - Bücher zur Programmierung und Softwareentwicklung


Wie werde ich Unix-Guru
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Rheinwerk Computing / Openbook / "Wie werde ich UNIX-Guru ?"
« UNIX Systemprogrammierung Perl Widgets und Ressourcen »

Grafische Oberfläche: Tk

Dieser 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.


Einfache Dialogboxen mit Perl und Tk

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 pack muss auf alle Elemente des Fensters angewandt werden, damit die Elemente im Fenster angeordnet und damit sichtbar werden. Solange nur mit wenigen Elementen gearbeitet wird, reicht diese Erklärung. Auf das Thema und die verschiedenen Anordnungsmöglichkeiten wird ab Seite pack genauer eingegangen.



Unterabschnitte
  • Widgets und Ressourcen
  • Kontrollelemente
    • Label
    • Button
    • Listbox
    • Scrollbars
    • Scale
    • Entry
    • Menüs

  • Widgetanordnung
    • Informationen


« UNIX Systemprogrammierung | Perl | Widgets und Ressourcen »
 
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 UNIX/Linux

Ubuntu 14.04 LTS

Linux Handbuch

Linux-Server

Raspberry Pi

Ubuntu Server
 Shopping
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info



Copyright © Rheinwerk Verlag GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern