【问题标题】:How to do map path to completion in Perl/Tk如何在 Perl/Tk 中完成映射路径
【发布时间】:2014-07-18 11:24:48
【问题描述】:

我服务器的linux系统自带Perl v5.14.1,这个版本的Perl好像不支持Tk-PathEntry widget(请参考:https://code.activestate.com/ppm/Tk-PathEntry/)。我可以知道是否有任何替代方法可以做到,以便我可以在条目小部件中为我得到的示例脚本映射完成路径,如下所示?

#!/usr/bin/perl
use Tk;
use Tk::PathEntry;

use Cwd;

$path = cwd();

$mw = MainWindow->new();
$mw->geometry( '300x80' );
$mw->resizable( 0, 0 );

$mw->PathEntry( -textvariable=>\$path )->pack;
$mw->Label( -textvariable=>\$path, -foreground=>'blue' )->pack;
$mw->Button( -text=>'Quit', -command=>sub{ exit } )->pack;

MainLoop;

我得到的错误消息似乎是我指向的 Perl 版本不支持 PathEntry 小部件:- 假设'需要 Tk::PathEntry;'在 path.ptk 第 14 行 在@INC 中找不到 Tk/PathEntry.pm(@INC 包含:/nfs/disks/my_work/scripts/Tk-PathEntry-2.23/lib /usr/pkgs/5.14.1/lib64/site_perl/x86_64-linux / usr/pkgs/perl/5.14.1/lib64/site_perl /usr/pkgs/perl/5.14.1/lib64/5.14.1/x86_64-linux /usr/pkgs/perl/5.14.1/lib64/5.14.1 / usr/pkgs/perl/5.14.1/lib64/module/default/x86_64-linux /usr/pkgs/perl/5.14.1/lib64/module/default .) 在 /usr/pkgs/perl/5.14.1/lib64 /module/default/x86_64-linux/Tk/Widget.pm 第270行

请指教。谢谢。

【问题讨论】:

    标签: perl perltk


    【解决方案1】:

    您可以在本地安装此模块,无需 root 权限并使用您的脚本打包。

    您可以使用 local::lib 来简化它,但它可能就足够了:

    perl Makefile.PL PREFIX=./modules
    make
    make install
    

    查看这篇文章中的详细信息以更轻松地进行操作:How can I install a CPAN module into a local directory?

    【讨论】:

    • 感谢您的链接和评论,但我有些做不到。
    • 又读了一遍资料,终于明白了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2022-06-17
    • 1970-01-01
    相关资源
    最近更新 更多