linux-l: Perl-Tk

Olaf Radicke olaf_rad at gmx.de
Di Okt 30 18:46:05 CET 2001


Hi, liste!
Ich sitze jetzt seit Tagen vor dem Buch "Einführung in Perl/Tk"(O'Raeilly).
Ich will ein Eingabe-Widgets mit zwei Fenstern machen und ein Button
um die Eingabe abzuschicken(um die Eingabe als Variablen weiter zu 
verarbeiten). Eigentlich eine Banalität, möchte man meinen. In
dem Buch (was ich persönlich grottenschlächt finde. Aber es gibt meines
Wissens, kein anderes deutschsprachiges.) Ist jeder Schnickschnack
beschrieben, aber nicht Das. 
Also so weit bin ich schon mal:

######################### Skribtanfang ##################################
#! /usr/bin/perl -w

use Tk;


my $datei;
my $wort;
$mw = MainWindow->new;
$mw->title("MainWindow");

$mw->Label(-text =>"Hier tragen sie den Dateinamen ein")->pack; 
$eingabe = $mw->Entry(-textvariable => \$datei)->pack(-expand => 1,
                                                    -fill => 'x');
$mw->Label(-text =>"Hier tragen sie die Bedeutung des Wortes ein")->pack;
$eingabe = $mw->Entry(-textvariable => \$wort)->pack(-expand => 1,
                                                    -fill => 'x');
#$mw->Button(-text => "Hinzufügen", -command => sub{ $eingabe->insert})->pack();
$mw->Button(-text => "Hilfe", -command => \&hilfe)->pack();
$mw->Button(-text => "Datensatz löschen", -command => \&loeschen)->pack();
$mw->Button(-text => "Daten auflisten", -command => \&liste)->pack();
$mw->Button(-text => "Ende" ,    -command => sub { exit })->pack();
MainLoop;

sub hilfe {
  if (! Exists($tl)) {
    $tl = $mw->Toplevel();
    $tl->title("Toplevel");
    $tl->Button(-text => "Schließen",
                -command => sub { $tl->withdraw })->pack;
  } else {
    $tl->deiconify();
    $tl->raise();
  }
};

sub loeschen {
  if (! Exists($tl)) {
    $tl = $mw->Toplevel();
    $tl->title("Toplevel");
    $tl->Button(-text => "Schließen",
                -command => sub { $tl->withdraw })->pack;
  } else {
    $tl->deiconify();
    $tl->raise();
  }
};

sub liste {
  if (! Exists($tl)) {
    $tl = $mw->Toplevel();
    $tl->title("Toplevel");
    $tl->Button(-text => "Schließen",
                -command => sub { $tl->withdraw })->pack;
  } else {
    $tl->deiconify();
    $tl->raise();
  }
}


####################### Skriptende ##################################



Mehr Informationen über die Mailingliste linux-l