免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3212 | 回复: 3
打印 上一主题 下一主题

关于perl tk的使用方法,主要是多行如何pack的问题,请大拿答复一下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-15 11:09 |只看该作者 |倒序浏览
use Tk;
use Encode;
use Tk::BrowseEntry;
require Tk::BrowseEntry;


sub cb_print {

论坛徽章:
0
2 [报告]
发表于 2014-01-15 11:09 |只看该作者
use Tk;
use Encode;
use Tk::BrowseEntry;
require Tk::BrowseEntry;


sub cb_print {
        my $tmp_var = $_[0];
        if ($tmp_var eq '1') {
                print "yes\n";
        }else {
                print "no\n";
        }
}


$version_info = "1.0";


$window_name="PCIe 数据链路层 Frame Generator ".$version_info;
$window_name=decode("cp936",$window_name);
my $mw = MainWindow->new(-title=>$window_name);
#$mw->configure(-background=>'grey');


$name = "循环次数";
$name=decode("cp936",$name);
$cycle_times_label = $mw->Label(-text=>"$name",-foreground =>'blue',-font => [-size => 10],-height=>'1',-width=> '10');
$cycle_times_label -> place(-x => 0, -y => 0);
$cycle_times_label -> pack(-anchor => 'w',-anchor => 'nw',-side=>'left');

$cycle_times_entry = $mw->Entry(-textvariable => \$cycle_times,-insertwidth => 5,
                -insertontime => 500,-insertborderwidth => 1000,
                -foreground => 'red',-selectbackground => 'green1',
                -selectforeground => 'blue2',-width=>10,-font=>[-size=>12]);
$cycle_times_entry -> pack(-after => $cycle_times_label,-anchor => 'nw',-side=>'left');

#$name = "TLP data random enable";
#$tlp_data_random_label = $mw->Label(-text=>"$name",-foreground =>'blue',-font => [-size => 12])->pack;
$name = "  TLP帧数据域内容随机使能  ";
$name=decode("cp936",$name);
$tlp_data_random_cb = $mw->Checkbutton(
    -text=>$name,
        -width=>25,
        -height=>1,
        -variable => \$tlp_data_random_mode,
        -onvalue => '1',
        -offvalue => '0',
        -command => sub {&cb_print($dlp_reserved_inverted_mode)}
);
$tlp_data_random_cb->pack(-after => $cycle_times_entry,-anchor => 'nw',-side=>'left');

$name = "  DLP帧保留域填充值按协议反转使能  ";
$name=decode("cp936",$name);
$dlp_reserved_inverted_cb = $mw->Checkbutton(
    -text=>$name,
        -width=>30,
        -height=>1,
        -variable => \$dlp_reserved_inverted_mode,
        -onvalue => '1',
        -offvalue => '0',
        -command => sub {&cb_print($dlp_reserved_inverted_mode)}
);
$dlp_reserved_inverted_cb -> pack(-after => $tlp_data_random_cb,-anchor => 'nw',-side=>'left');



MainLoop;

论坛徽章:
0
3 [报告]
发表于 2014-01-15 11:15 |只看该作者
不知道如何贴图
效果就是上述代码单行效果变成多行,不要使用for循环,后续每行的内容是不同的。

论坛徽章:
0
4 [报告]
发表于 2014-01-15 11:28 |只看该作者
解决方法找到了,不过有点笨的,总算解决我的需求
use Tk;
use Encode;
use Tk::BrowseEntry;
require Tk::BrowseEntry;


sub cb_print {
        my $tmp_var = $_[0];
        if ($tmp_var eq '1') {
                print "yes\n";
        }else {
                print "no\n";
        }
}


$version_info = "1.0";


$window_name="PCIe 数据链路层 Frame Generator ".$version_info;
$window_name=decode("cp936",$window_name);
my $mw = MainWindow->new(-title=>$window_name);
#$mw->configure(-background=>'grey');


$name = "循环次数";
$name=decode("cp936",$name);
$cycle_times_label = $mw->Label(-text=>"$name",-foreground =>'blue',-font => [-size => 10],-height=>'1',-width=> '10');


$cycle_times_entry = $mw->Entry(-textvariable => \$cycle_times,-insertwidth => 5,
                -insertontime => 500,-insertborderwidth => 1000,
                -foreground => 'red',-selectbackground => 'green1',
                -selectforeground => 'blue2',-width=>10,-font=>[-size=>12]);


#$name = "TLP data random enable";
#$tlp_data_random_label = $mw->Label(-text=>"$name",-foreground =>'blue',-font => [-size => 12])->pack;
$name = "  TLP帧数据域内容随机使能  ";
$name=decode("cp936",$name);
$tlp_data_random_cb = $mw->Checkbutton(
    -text=>$name,
        -width=>25,
        -height=>1,
        -variable => \$tlp_data_random_mode,
        -onvalue => '1',
        -offvalue => '0',
        -command => sub {&cb_print($dlp_reserved_inverted_mode)}
);


$name = "  DLP帧保留域填充值按协议反转使能  ";
$name=decode("cp936",$name);
$dlp_reserved_inverted_cb = $mw->Checkbutton(
    -text=>$name,
        -width=>30,
        -height=>1,
        -variable => \$dlp_reserved_inverted_mode,
        -onvalue => '1',
        -offvalue => '0',
        -command => sub {&cb_print($dlp_reserved_inverted_mode)}
);

$cycle_times_label->grid($cycle_times_entry,$tlp_data_random_cb,$dlp_reserved_inverted_cb);


$name = "循环次数";
$name=decode("cp936",$name);
$cycle_times_label2 = $mw->Label(-text=>"$name",-foreground =>'blue',-font => [-size => 10],-height=>'1',-width=> '10');


$cycle_times_entry2 = $mw->Entry(-textvariable => \$cycle_times,-insertwidth => 5,
                -insertontime => 500,-insertborderwidth => 1000,
                -foreground => 'red',-selectbackground => 'green1',
                -selectforeground => 'blue2',-width=>10,-font=>[-size=>12]);


#$name = "TLP data random enable";
#$tlp_data_random_label = $mw->Label(-text=>"$name",-foreground =>'blue',-font => [-size => 12])->pack;
$name = "  TLP帧数据域内容随机使能  ";
$name=decode("cp936",$name);
$tlp_data_random_cb2 = $mw->Checkbutton(
    -text=>$name,
        -width=>25,
        -height=>1,
        -variable => \$tlp_data_random_mode,
        -onvalue => '1',
        -offvalue => '0',
        -command => sub {&cb_print($dlp_reserved_inverted_mode)}
);


$name = "  DLP帧保留域填充值按协议反转使能  ";
$name=decode("cp936",$name);
$dlp_reserved_inverted_cb2 = $mw->Checkbutton(
    -text=>$name,
        -width=>30,
        -height=>1,
        -variable => \$dlp_reserved_inverted_mode,
        -onvalue => '1',
        -offvalue => '0',
        -command => sub {&cb_print($dlp_reserved_inverted_mode)}
);

$cycle_times_label2->grid($cycle_times_entry2,$tlp_data_random_cb2,$dlp_reserved_inverted_cb2);

MainLoop;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP