免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3531 | 回复: 5

烦帮忙测试一段代码,在linux 64位下运行报错。 [复制链接]

论坛徽章:
0
发表于 2014-01-06 16:43 |显示全部楼层
烦帮忙测试下下面的代码,我在我的linux虚拟机上测试报错,在windows平台下,active-perl中运行可以正常。
  1. use Tkx;
  2. my $mw = Tkx::widget->new(".");
  3. $mw->g_wm_title("Feet to Meters");
  4. my $frm = $mw->new_ttk__frame(-padding => "3 3 12 12");
  5. $frm->g_grid(-column => 0, -row => 0, -sticky => "nwes");
  6. $mw->g_grid_columnconfigure(0, -weight => 1);
  7. $mw->g_grid_rowconfigure(0, -weight => 1);

  8. my $ef = $frm->new_ttk__entry(-width => 7, -textvariable => \$feet);
  9. $ef->g_grid(-column => 2, -row => 1, -sticky => "we");
  10. my $em = $frm->new_ttk__label(-textvariable => \$meters);
  11. $em->g_grid(-column => 2, -row => 2, -sticky => "we");
  12. my $cb = $frm->new_ttk__button(-text => "Calculate", -command => sub {calculate();});
  13. $cb->g_grid(-column => 3, -row => 3, -sticky => "w");

  14. $frm->new_ttk__label(-text => "feet")->g_grid(-column => 3, -row => 1, -sticky => "w");
  15. $frm->new_ttk__label(-text => "is equivalent to")->g_grid(-column => 1, -row => 2, -sticky => "e");
  16. $frm->new_ttk__label(-text => "meters")->g_grid(-column => 3, -row => 2, -sticky => "w");

  17. foreach (Tkx::SplitList($frm->g_winfo_children)) {
  18.     Tkx::grid_configure($_, -padx => 5, -pady => 5);
  19. }
  20. $ef->g_focus;
  21. $mw->g_bind("<Return>", sub {calculate();});

  22. sub calculate {
  23.    $meters = int(0.3048*$feet*10000.0+.5)/10000.0 || '';
  24. }
  25. Tkx::MainLoop();
复制代码
我在我的linux下运行报错如下:
[root@localhost TK]# perl 1.pl
invalid command name "ttk::frame" at 1.pl line 8.

我的perl版本:
[root@localhost TK]# perl -v

This is perl 5, version 16, subversion 1 (v5.16.1) built for x86_64-linux-thread-multi

Tkx版本:
Tkx is up to date (1.09).

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
发表于 2014-01-06 16:53 |显示全部楼层
本帖最后由 zhlong8 于 2014-01-06 16:54 编辑

查下虚拟机里TCL的版本,ttk 应该是 8.5 才有的

论坛徽章:
0
发表于 2014-01-06 17:17 |显示全部楼层
回复 2# zhlong8
是指下面的的模块吗?
下面是我机器上关于tcl的模块:
  1. ***************************************
  2. Tcl          --  1.02
  3. ***************************************
  4. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/x86_64-linux-thread-multi
  5. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/x86_64-linux-thread-multi/auto/Tcl
  6. /home/hjb/perl.v5.16.2/man/man3

  7. ***************************************
  8. Tcl::pTk     --  0.85
  9. ***************************************
  10. /home/hjb/perl.v5.16.2/bin
  11. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl
  12. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk
  13. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/DragDrop
  14. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/Menu
  15. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/TableMatrix
  16. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/Tie
  17. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/demos/images
  18. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/demos/widget_lib
  19. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/demos/widtrib
  20. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/demos/widtrib/lib/npuz
  21. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/Tcl/pTk/images
  22. /home/hjb/perl.v5.16.2/lib/site_perl/5.16.1/auto/Tcl/pTk/TextEdit
  23. /home/hjb/perl.v5.16.2/man/man1
  24. /home/hjb/perl.v5.16.2/man/man3
复制代码

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
发表于 2014-01-06 19:40 |显示全部楼层
回复 3# hejianbu437


    我指的是 TCL 编程语言的解释器版本

论坛徽章:
0
发表于 2014-01-07 09:33 |显示全部楼层
回复 4# zhlong8

应该是如下的版本,确实不是8.4版本的。
[root@localhost ~]# rpm -qa | grep tcl
tclx-8.4.0-5.fc6
tcl-8.4.13-4.el5
[root@localhost ~]#


   

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
发表于 2014-01-07 11:40 |显示全部楼层
回复 5# hejianbu437


    ttk 是 8.5 才加入 tcl/tk 的所以 8.4 没这个功能,你把你代码中 ttk 那部分去掉用就可以了,按命名规则应该就是 ->new_frame(...) 这样吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP