2016-07-06 23 views
0

Ich verwende Active State Perl auf Win7 und möchte Canvas unter Tkx ausführen.Wo finde ich ein funktionierendes Beispielprogramm mit Canvas unter Tkx?

Der Active State-Build ist eine Gesamtmenge von gegenseitig inkompatiblen Tk- und Tkx-Modulen in ähnlichen, aber nicht identischen Ordnern und Beispielprogrammen, die nicht ausgeführt werden, weil sie keine Module in den referenzierten Bibliotheken finden können.

Kann mich jemand zu einem Beispiel-Perl-Programm mit Canvas unter Tkx verweisen, das auf einem Active State Perl-System in Windows läuft?

Hier sind die Tk und Tkx Ordner Active State auf meiner Platte installiert:

Edit: OK! Niemand hat ein Canvas-Programm unter Tkx, das auf einem Active State Perl-System in Windows ausgeführt wird. Ich denke, das sagt mir, was ich wissen muss. Es kann nicht gemacht werden.

Was ist mit Raspberry Perl. Kann es dort gemacht werden?

============== Tk =========================== 
C:\Perl\Documentation\Tk Manual.htm 
C:\Perl\Documentation\Tk Manual_files 
C:\Perl\lib\Tk.pm 
C:\Perl\Tk-804.028 
C:\Perl\Tk-804.028\demos\Tk.pm 
C:\Perl\Tk-804.028\Documentation\Tk Manual.htm 
C:\Perl\Tk-804.028\Documentation\Tk Manual_files 
C:\Perl\Tk-804.028\Good online Tk Tutorial.url 
C:\Perl\Tk-804.028\pod\Tk.cmd 
C:\Perl\Tk-804.028\pTk\bitmaps\tk.bmp 
C:\Perl\Tk-804.028\pTk\mTk\generic\tk.decls 
C:\Perl\Tk-804.028\pTk\mTk\generic\tk.h 
C:\Perl\Tk-804.028\pTk\mTk\unix\tk.spec 
C:\Perl\Tk-804.028\pTk\mTk\win\rc\tk.ico 
C:\Perl\Tk-804.028\pTk\mTk\win\rc\tk.rc 
C:\Perl\Tk-804.028\pTk\tk.exc 
C:\Perl\Tk-804.028\pTk\tk.m 
C:\Perl\Tk-804.028\pTk\tk.t 
C:\Perl\Tk-804.028\Tixish\lib\Tk 
C:\Perl\Tk-804.028\Tk 
C:\Perl\Tk-804.028\Tk-804.028.tar 
C:\Perl\Tk-804.028\Tk.pm 
C:\Perl\Tk-804.028\Tk.pod 
C:\Perl\Tk-804.028\Tk.xs 
C:\Perl\Tk-804.028\Tk\Tk.xbm 
C:\Perl\Tk-804.028\Tk\Tk.xpm 
C:\Perl\Tkx\TkDocsTutorial_files\tk.css 

========== Tkx ====== 

C:\Perl\Active Perl\bin\tkx-ed.html 
C:\Perl\Active Perl\html\bin\tkx-ed.html 
C:\Perl\Active Perl\html\lib\ActiveState\Tkx 
C:\Perl\Active Perl\html\lib\Tkx 
C:\Perl\Active Perl\html\lib\Tkx.html 
C:\Perl\Active Perl\lib\Tkx 
C:\Perl\Active Perl\lib\Tkx.html 

C:\Perl\bin\tkx-ed 
C:\Perl\bin\tkx-ed.bat 
C:\Perl\bin\tkx-prove 
C:\Perl\bin\tkx-prove.bat 

C:\Perl\html\bin\tkx-ed.html 
C:\Perl\html\lib\ActiveState\Tkx 
C:\Perl\html\lib\Tkx 
C:\Perl\html\lib\Tkx.html 

C:\Perl\lib\ActiveState\Tkx 
C:\Perl\lib\ActiveState\Tkx.pm 
C:\Perl\lib\auto\Tkx 
C:\Perl\lib\Tkx 
C:\Perl\lib\Tkx.pm 

C:\Perl\Tkx 
C:\Perl\Tkx\Perl-lib-Tkx.lnk 
C:\Perl\Tkx\Tkx Reference Manual.html.lnk 

C:\Perl64\bin\tkx-ed 
C:\Perl64\bin\tkx-ed.bat 
C:\Perl64\bin\tkx-prove 
C:\Perl64\bin\tkx-prove.bat 
C:\Perl64\html\bin\tkx-ed.html 
C:\Perl64\html\lib\ActiveState\Tkx 
C:\Perl64\html\lib\Tkx 
C:\Perl64\html\lib\Tkx.html 
C:\Perl64\lib\ActiveState\Tkx 
C:\Perl64\lib\ActiveState\Tkx.pm 
C:\Perl64\lib\auto\Tkx 
C:\Perl64\lib\Tkx 
C:\Perl64\lib\Tkx.pm 

Antwort

1

Canvas ist ein Teil von Tcl/Tk, also ist es über Tkx verfügbar. Hier ist ein einfaches Beispiel:

use strict; 
use warnings; 
use Tkx; 

my $mw = Tkx::widget->new('.'); 
my $canvas = $mw->new_canvas(); 
$canvas->g_pack(); 

$canvas->create_text(100, 10, -text => "Hello, world!"); 
$canvas->create_rectangle(25, 25, 50, 50, -fill => 'red'); 
$canvas->create_oval(40, 40, 80, 80, -fill => 'green'); 
$canvas->create_line(20, 20, 100, 100); 

Tkx::MainLoop(); 

TkDocs ein canvas tutorial hat den Beispielcode in Perl mit Tkx enthält.

Beachten Sie, dass Tkx eine sehr dünne Schicht über Tcl/Tk ist. Die Tkx-Dokumentation beschreibt, wie diese Ebene funktioniert, aber für die meisten Aufgaben müssen Sie die Tk-Dokumentation konsultieren und die Befehle in Perl übersetzen. z.B. pathName create line x1 y1... wird $canvas->create_line(x1, y1, ...)

Die Verwendung von Tkx ist am einfachsten unter ActivePerl, da es die erforderlichen Tcl/Tk-Bibliotheken bündelt. Um Tkx unter einer anderen Perl-Distribution zu verwenden, müssen Sie Tcl/Tk separat installieren und Ihre Umgebung so konfigurieren, dass Tkx sie finden kann.

+0

Michael: Ich weiß, dass die dünnlippigen Pedanten, die SO laufen, entmutigen Dankesbotschaften, aber nachdem sie für einige Tage völlig ignoriert wurden, um eine einfache Antwort zu bekommen, die funktioniert, muss ich Danke sagen! – user1067305