在哪里可以找到在 Tkx 下使用 Canvas 的工作示例程序?

Where can I find a working sample program using Canvas under Tkx?

我在 Win7 上使用 Active State Perl,并希望在 Tkx 下 运行 Canvas。

Active State 构建是在相似但不相同的文件夹中相互不兼容的 Tk 和 Tkx 模块的总和,以及不会 运行 的示例程序,因为它们无法在引用的库中找到模块.

任何人都可以指导我在 Tkx 下使用 Canvas 的示例 perl 程序,该程序在 Windows 的活动状态 perl 系统上 运行s 吗?

这是安装在我的光盘上的 Tk 和 Tkx 文件夹 Active State:

编辑:好的!在 Windows 的 Active State perl 系统上,没有人拥有 Tkx 下的 Canvas 程序 运行。我想这告诉了我我需要知道什么。做不到。

Raspberry Perl 怎么样。那里可以做吗?

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

Canvas 是 Tcl/Tk 的一部分,因此可以通过 Tkx 获得。这是一个简单的例子:

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 有一个 canvas tutorial,其中包含使用 Tkx 的 Perl 示例代码。

请注意,Tkx 是 Tcl/Tk 上的一层非常薄的层。 Tkx 文档描述了该层如何工作,但对于大多数任务,您需要查阅 Tk 文档并将命令翻译成 Perl。例如pathName create line x1 y1... 变为 $canvas->create_line(x1, y1, ...)

在 ActivePerl 下使用 Tkx 最简单,因为它捆绑了必需的 Tcl/Tk 库。要在不同的 Perl 发行版下使用 Tkx,您需要单独安装 Tcl/Tk 并配置您的环境,以便 Tkx 可以找到它。