【问题标题】:Where can I find a working sample program using Canvas under Tkx? [closed]在哪里可以找到使用 Tkx 下的 Canvas 的工作示例程序? [关闭]
【发布时间】:2016-07-06 21:29:07
【问题描述】:

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

Active State 构建是在相似但不相同的文件夹中的相互不兼容的 Tk 和 Tkx 模块,以及由于在引用的库中找不到模块而无法运行的示例程序。

谁能指导我使用 Tkx 下的 Canvas 示例 perl 程序,该程序在 Windows 的 Active State perl 系统上运行?

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

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

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 activestate tkx


    【解决方案1】:

    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 可以找到它。

    【讨论】:

    • Michael:我知道运行 SO 的薄唇书呆子不鼓励感谢的信息,但是在被完全忽略了几天之后,为了得到一个有效的简单答案,我需要说声谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2013-09-24
    • 2010-09-23
    • 1970-01-01
    相关资源
    最近更新 更多