http://blog.roodo.com/kenwu/archives/550747.html

首先,你必須要了解為什麼要用Perl+Tk來開發一個輕量級的GUI應用程式
由於敝人從事開發Perl程式開發約有八年的歷程,加上Perl有完善的字串處理能力
所以使用Perl+Tk來做一個說明,相同的Widgets概念也可以應用到Tcl+Tk上面。

對於開發Win32 GUI視窗程式,其實我對於VB感到不滿意,跨平台能力不佳
,而且部分資料處理上甚至麻煩 (可能會有人跳出來說有 VB.NET 很好= =),
其二我個人不喜歡微軟M$,所以學VB倒不如學Tk還來的實際一點!
只要有安裝Perl Interpreter+Tk模組的地方,是無須修改一堆代碼就能夠快速移植。

接下來介紹一下Win32中要運行Perl+Tk,最簡便的就是安裝ActiveState所提供的
ActivePerl軟體,建議安裝5.61版本就好了,上面的5.8x最新版本有些毛病...= =

安裝完畢之後,我們就打開記事本(對~是記事本...想用Visual開發請去找ZooZ來用)
輸入以下的代碼:

# TK範例程式開始


#!/perl
use Tk;

my $mw = new MainWindow(-title=>'我的第一個Tk程式');
$mw->geometry('400x50');

my $label = $mw->Label(-text=>'測試文字', -relief =>'sunken', -border =>2);
$label->pack(-side =>'top', -fill =>'both');

my $button = $mw->Button(-text => "關閉程式", -command => sub {$mw->destroy;});
$button->pack(-side =>'top');

MainLoop;


# TK範例程式結束

這個程式可以產生一個視窗名稱為我的第一個Tk程式 然後尺寸是400x50像素的畫面
上面會有一個Label標籤(與VB概念一樣) 然後一個Button按鈕,點選按鈕可以關閉視窗
這邊關閉視窗採用匿名副程式的方式運行,將$mw這個widget刪除掉。

使用$mw->destroy; 與exit; 跳離的方式兩者意義不同。
前者是還會把剩下的程式碼執行完畢再跳離視窗,而後者則是直接跳離:)
想更加了解Perl+Tk嗎? 到這看看吧
http://www.geocities.com/binnyva/code/perl/perl_tk_tutorial/contents.html

http://www.geocities.jp/m_hiroi/perl_tk/
創作者介紹

創造心理的感動

gisanfu 發表在 痞客邦 PIXNET 留言(0) 人氣()