|
|
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
|
|
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
Einige Cookies sind notwendig, damit unser Webshop funktioniert (z.B. der Warenkorb). Andere helfen uns, Ihr Einkaufserlebnis und unser Angebot zu verbessern. Durch Klicken auf »Zustimmen« erklären Sie, dass Sie mindestens 16 Jahre alt sind und damit einverstanden sind, dass der Rheinwerk Verlag und auch Drittanbieter Cookies setzen und personenbezogene Daten zu Ihrer Nutzung unserer Webseite verarbeiten. Sie können auch eine individuelle Auswahl treffen. Mit »Verweigern« lehnen Sie alle nicht notwendigen Cookies direkt ab. Ihre Einwilligung können Sie jederzeit widerrufen, prüfen und ändern (z.B. im Fuß der Website). Mehr erfahren Sie in unserer Datenschutzerklärung.
Name | Technologie | Erhobene Daten | Speicherdauer | Verwendungszweck |
---|---|---|---|---|
csrftoken | Cookie | UUID | 364 Tage | Sicherheits-Token zur Formularübermittlung |
gx_sessionid | Cookie | UUID | 28 Tage | Cookie für Nutzeranmeldungen und Warenkörbe |
bo_sessionid | Cookie | UUID | Session | Cookie für Nutzeranmeldungen |
oscar_open_basket | Cookie | Integer (Basket-ID) + Hash | 7 Tage | Cookie für Warenkörbe |
oscar_history | Cookie | Liste Produkt-IDs | 7 Tage | Cookie für Warenkorb-Historie |
dsag | Cookie | DSAG-Nummer und Firmenname + Hash | Session | Cookie für DSAG-Kunden |
upgrade | Cookie | Integer (Produkt-ID) + Lizenzschlüssel + Hash | Session | Cookie zur Verarbeitung von E-Book-Käufen |
list_style | Cookie | String | Session | Speicherung gewählter Layouts |
list_filter | Cookie | Integer | Session | Speicherung gewählter Filter |
aftg | Cookie | eigene ID | Session | Cookie für Partner-Bestellungen |
bg_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung Microsoft Advertising ("Bing") |
fb_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung Facebook Pixel, Remarketing und Custom Audiences |
ga_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung Google Analytics |
gr_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung Google reCAPTCHA |
gt_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung Google Ads Tags |
li_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung LinkedIn |
tw_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung Twitter |
ws_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung notwendige Website-Funktionen |
yt_consent | Cookie | true/false | 180 Tage | Verwaltung Einwilligung Einbindung von YouTube Videos |