【perl】Tk模块的一个实例——从界面进行文件的输入和输出
(2013-10-28 11:10:13)
标签:
perl界面tk中文乱码输入输出 |
分类: perl笔记 |
#!/usr/bin/perl -w
use
strict;
#####################
#
#一个输入,一个输出
################################
use Tk;
#加载模块
use Encode
qw/encode decode/;
my $mw =
MainWindow->new;
#新建主窗口
$mw->geometry("350x160");
#设置主窗口大小
my $title =
'输入&输出'; #主窗口的标题
chinese($title);
#使用中文解码,子程序在下面
$mw->title("$title");
#在主窗口中显示标题
my $frame1 =
$mw->Frame->pack(-ipadx
=> 50, -side => "left", -fill
=> "y");
#在主窗口建一个框架
my $frame2 =
$mw->Frame->pack(-ipadx
=> 50, -side => "right", -fill
=> "y");
#在主窗口建第二个框架,两个框架将主窗口一分为二。
my $input_t
= '输入文件'; #这些都是下面按钮上的文字
my $output_t
= '输出文件';
my $bun =
'请选择';
my $ok =
'确定';
chinese($input_t);
#中文解码,这样才能正常显示
chinese($output_t);
chinese($bun);
chinese($ok);
$frame1->Label(-text
=> "$input_t")->pack(-side
=> "left");
#在框架1中设置标签
my $button1
= $frame1->Button(-text => "$bun",
-command => \&button_input, -bg
=> "green")->pack(-side
=> "left");
#在框架1中设置按钮,-command表示点击按钮时触发的动作,见下面的子程序button_input
$frame2->Label(-text
=> "$output_t")->pack(-side
=> "left");
my $button2
= $frame2->Button(-text => "$bun",
-command => \&button_output, -bg
=> "green")->pack(-side
=> "left");
my $button3
= $frame2->Button(-text => "$ok",
-command => [$mw =>
'destroy'])->pack(-side =>
"bottom");
MainLoop;
#界面部分完毕
my
($input_mw,$output_mw);
sub
button_input {
#这里得到了输入文件的路径,并赋值给$input_mw,
#因此这个子程序需要放在前面,后面才能使用$input_mw来表示输入路径
}
sub
button_output {
}
sub chinese
{ #上面用来设置中文解码的子程序
}
my $input =
$input_mw;
#得到输入文件的路径,跟我们直接使用$input = 'D:\test\test.txt';是等效的。
my $output =
$output_mw; #得到输出文件的路径
这里有一篇很好的Tk模块的入门文章:
以上为原创,转载请注明。