ein Kapitel zurück                                           ein Kapitel weiter

Nun wollen wir uns ansehen wie wir ein Canvas (deutsch=Segeltuch) erstellen können.
Was soviel bedeutet wie ein Fläche auf der wir etwas z.B. Zeichnen können.........

#!/usr/bin/perl -w

use strict;
use Tk;

my $window= MainWindow->new;

my $c1 = $window->Canvas(-width => '350', -height => '350')->pack;

$c1->createLine(25, 175, 325, 175, -arrow => 'last');
$c1->createText(15, 175, -fill => 'blue', -text => 'X');
$c1->createLine(175, 25, 175, 325, -arrow => 'last');
$c1->createText(175, 15, -fill => 'red', -text => 'Y');

MainLoop;



So siehts aus :

Canvas Perl Tk

Hiermit erzeugen wir auf unserem Canvas-Widget von der Größe 350x350 ein x/y-Koordinatenfeld. Für Canvas-Widget stehen einigen Funktionen zur Verfügung zum Zeichnen von Formen. Diese beginnen meist mit create...

$c1->createLine(25, 175, 325, 175, -arrow => 'last');   

...bedeutet z.B. der Anfangspunkt der Linie ist an Position x=25 und y=175 und der Endpunkt an Position x=325 und y=175. Mit arrow=last fügen wir einen Pfeil am Ende der Linie an. Es wäre z.B. noch die Angabe für arrow möglich gewesen wie : first=am Anfang und both=beide Seiten. 
Mit.......

$c1->createText(175, 15, -fill => 'red', -text => 'Y');


...erzeugen wir einen Text an Position x=175 y=15 mit roter Farbe, ein 'Y'. Auch gibt es hierzu wieder viele andere geometrische Formen und Optionen dazu wie z.B.........

#!/usr/bin/perl -w

use strict;
use Tk;

my $window= MainWindow->new;

my $c1 = $window->Canvas(-width => '350', -height => '350')->pack;

my $schalter1=$window->
  Button(-text => "createArc", -command => \&arc)->
         pack(-side => 'left');

my $schalter2=$window->
  Button(-text => "createLine",-command => \&line)->
         pack(-side=> 'left');

my $schalter3=$window->
  Button(-text => "createOval",-command => \&oval)->
         pack(-side=> 'left');

my $schalter4=$window->
  Button(-text => "createRectangle",-command => \&rect)->
         pack(-side=> 'left');

my $schalter5=$window->
  Button(-text => "createText",-command => \&text)->
         pack(-side=> 'left');

my $schalter6=$window->
  Button(-text=>"Beenden", -command => [ $window => 'destroy'] )->
         pack(-side => 'left');


sub arc{
  $c1->createArc(25, 100, 150, 300, -fill => 'blue');
}

sub  line{
   $c1->createLine(25, 25, 325, 325, -fill => 'red');
}

sub oval{
  $c1->createOval(35, 25, 100,100, -fill => 'yellow');
}

sub rect{
  $c1->createRectangle(150, 150, 300, 300, -fill => 'green');
}

sub text{
   $c1->createText(175, 10, -text => 'Diese ist ein Textbeispiel');
}

MainLoop;



So siehts aus :

Canvas Tk Perl

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf