Perl/Tk入门学习(上)
来源:互联网 发布:java socket 发送文件 编辑:程序博客网 时间:2024/06/05 10:18
由于项目需求,要编写程序的GUI界面,脚本程序使用Perl,因此选用Perl/Tk模块来实现GUI。初次接触Perl/Tk模块,自我摸索过程中,欢迎大家交流与指正。
目标:编写一个程序的使用界面,具体功能为选择文件,实现文件调用并运行程序。
安装:使用Ubuntu系统,安装perl之后,使用sudo apt-get install perl-tk安装Tk模块(在此之前尝试使用CPAN的方法安装,编译文件一直出问题,网上查找发现很多人遇到相同问题且没有找到解决方案),使用perl -e “use Tk”(注意是大写T小写k)检查Tk模块是否安装成功。
使用:安装Tk模块后,使用widget命令,会有很多简单的Perl/Tk例程,可以点击进行学习。
实践:在linux终端运行widget,显示如下例程窗口:
选择Common Dialogs的File selection dialog选项,点击see code即可查看使用Tk模块编写的文件选择的源代码。
读懂程序后,写一个满足自己需要的打开文件的版本,界面如下:
code如下:
#! /usr/bin/perl -wuse Tk;use strict;my $mw=MainWindow->new;$mw->title("open file");my $f=$mw->Frame;my $lab=$f->Label(-text=>"select a file to open: ", -anchor=>'e');my $ent=$f->Entry(-width=>20);my $button=$f->Button(-text=>"Browse",-command=>sub{but_openfile()});$lab->pack(-side=>'left');$ent->pack(-side=>'left',-expand=>'yes',-fill=>'x');$button->pack(-side=>'left');$f->pack(-fill=>'x',-padx=>'1c',-pady=>3);MainLoop;sub but_openfile { my $types; my $file; my @types= (["Text files", [qw/.txt .doc/]], ["Text files", '', 'TEXT'], ["Perl Scripts", '.pl', 'TEXT'], ["C Source Files", ['.c', '.h']], ["Image Files", '.gif'], ["Image Files", ['.jpeg', '.jpg']], ["Image Files", '', [qw/GIFF JPEG/]], ["All files", '*'] ); $file=$mw->getOpenFile(-filetypes=>\@types); if (defined $file and $file ne '') { $ent->delete(0,'end'); $ent->insert(0,$file); $ent->xview('end'); }}
1 0
- Perl/Tk入门学习(上)
- Tcl/Tk入门(上)
- PERL TK
- perl Tk 学习二添加按钮,文本框
- 关于perl Tk.pm linux上的安装
- Tcl/Tk入门(中)
- Tk:perl/Tk, TCL/Tk, python/Tk(Tkinter)示例
- 了解 Perl/Tk 模块
- Mastering Perl/Tk
- perl tk hello world
- Perl/Tk 安装
- Perl/tk之font
- Perl Tk grid 布局
- Perl Tk介绍
- perl tk 资料widget
- perl tk说明
- Learning Perl(Perl语言入门)学习笔记(1)
- perl学习(1) 入门
- mac上使用svn
- hibernateDaoSupport的使用步骤
- 谷歌搜索引擎设置
- mongovue链接meteor的mongdb
- JSP的详解
- Perl/Tk入门学习(上)
- Qt 在Release 模式下 qDebug 等 显示输出信息的行号和文件
- ArrayList源码阅读
- javascript中的prototype属性
- 正则表达式所有符号解释以及使用案例
- 为什么安卓系统比苹果系统卡
- 17monipdb数据库
- 【AMQP】macOS下的AMQP服务器以及PHP扩展搭建
- 跳槽?社保?买房?