2016-07-06 4 views
0

J'utilise Active State Perl sur Win7, et je voudrais lancer Canvas sous Tkx. La construction Active State est un kloodge total de modules Tk et Tkx mutuellement incompatibles dans des dossiers similaires mais pas identiques, et des exemples de programmes qui ne fonctionneront pas car ils ne peuvent pas trouver de modules dans les bibliothèques référencées.Où puis-je trouver un exemple de programme de travail en utilisant Canvas sous Tkx?

Quelqu'un peut-il me diriger vers un exemple de programme Perl en utilisant Canvas sous Tkx qui s'exécute sur un système Perl Active State dans Windows?

Voici les dossiers Tk et TKX Active State installé sur mon disque:

Edit: OK! Personne n'a de programme Canvas sous Tkx qui s'exécute sur un système Perl Active State sous Windows. Je suppose que cela me dit ce que j'ai besoin de savoir. Cela ne peut pas être fait.

Qu'en est-il de Raspberry Perl? Peut-il être fait là?

============== 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 

Répondre

1

Canvas fait partie de Tcl/Tk, il est donc disponible via Tkx. Voici un exemple trivial:

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 a un canvas tutorial qui comprend un exemple de code en Perl avec TKX.

Notez que Tkx est une couche très fine sur Tcl/Tk. La documentation de Tkx décrit comment cette couche fonctionne mais pour la plupart des tâches, vous devrez consulter la documentation de Tk et traduire les commandes en Perl. par exemple. pathName create line x1 y1... devient $canvas->create_line(x1, y1, ...)

L'utilisation de Tkx est la plus simple sous ActivePerl car elle regroupe les bibliothèques Tcl/Tk requises. Pour utiliser Tkx sous une distribution Perl différente, vous devez installer Tcl/Tk séparément et configurer votre environnement afin que Tkx puisse le trouver.

+0

Michael: Je sais que les pédants à lèvres minces qui courent SO découragent les messages de remerciement, mais après avoir été totalement ignorés pendant plusieurs jours, pour obtenir une réponse simple qui fonctionne, je dois dire merci! – user1067305