Perl tk版分析和总结.docxVIP

  • 18
  • 0
  • 约1.66万字
  • 约 15页
  • 2022-06-02 发布于上海
  • 举报
Perl 版 (精华区) 发信人: sisoe ( 游刃), 信区: Perl 标 题: perl/tk 教程 发信站: BBS 水木清华站 (Tue Aug 29 12:23:44 2000) perl/tk 教 程浦绍忠 前言 perl/tk 在图形界面、表框设计、菜单设计等方面功能强大,对字体、颜色和绑定使用灵活,容易上手。 本教程写作原则: 简洁明了地介绍 perl/tk 的功能及其使用, 对功能的使用一般只介绍一种 方法, 其余方法由读者自己实践。对于 perl/tk 的常用功能及其使用给以相应的例子,为突出选项的作用,在例子中有时不是遵循美学原则,得到漂亮的界面, 而是使用一些夸张的选项值。 教程的介绍对象是 perl/tk 402.002 版本, 使用 Windows 序列操作系统, 本教程中全部例子都在 Windows95 ,Windows98 下试验通过。 讲解 perl/tk 基本组件,基本使用方 法,对 perl/tk 的扩展模块不作说明, 由读者自己去学习掌握。假定读者已掌握 perl 基础知识,对例子中用到的 perl 基础知识不作讲解。 第一章 perl/tk 概要说明一。perl/Tk 的取得 从多个网站上可以取得 perl/Tk , perl/Tk 的安装需要 C++ 的编译器。Gurusamy Sarathy 已经为使用 Intel 芯片的机器在 NT 上安装了最常用模块的 tar 文件,压缩文件大约有 6M,安装后大约有 24M ,安装后就可以在 Windows 系列系统下使用 Perl/Tk 。为便于下载 ,你可以从国内网站 http://ftp.freesoft. /pub/languages/perl/CPAN/modules/by-authors/id/GSAR/ 取得 Gurusamy Sarathy 安装好的 perl5.00402-bindist04-bc.zip 文件。 解压,然后安装后即可使用(不需要自己用 C++ 编译器进行编译)。 二。perl/tk 描述 perl/tk-- 用 perl5 写 tk 程序, perl/tk 是 GUI 类程序,即事件驱动程序。 GUI 主循环在用户程序之外, 在 GUI 库内,该主循环监视所有 “ 感兴趣”事件,激活 相应程序处理这些事件, 这些处理程序可以由用户提供,也可以是 GUI 库的一个部分。 不需要编程人员时刻注视着正在发生的事件,而是当工具包需要的时候再动作,也不需要等待着“ 打开窗口/关闭窗口/重画窗口”这些请求,而是告诉工具包哪个过程处理这些请求,当需要的时候工具包再调用所需过程。 程序要求: perl/tk 程序需要 use Tk 语句,有必要包含 use strict 语句和 -w 开关以避免公共错误。 任何 tk 应用都需要首先创建 tk 主窗口,然后创建窗口内的项目或者新窗 口,最后创建主循环(当然也可以在运行时创建更多的项目和窗口)。当包装项目时, 它们显现出来。然后执行 tk 主循环,这将启动 GUI 和处理应用中的所 有事件。 创建主窗口使用: $mw = new MainWindow; 或者 $ mw = MainWindow - new; 项目创建 tk 窗口和组件是分层结构的,它们互不包含。创建组件使用: $widget = $parent - widgetclass(? -option = value,...?); widgetclass 是需要创建的新组件类(例如, Button ),$parent 是父组件的 perl/Tk 指针, 新建组件的对象指针储存在 $widget 中, $widget 成为 $ parent 的一个子件,它创建分层组件。 以下语句创建一个按钮组件 $b ,并用包装方法将它显示出来。 $b = $ mw - Button(-text = hello world)-pack; 所有组件创建命令能够使用 选项 =资源参数 形式将资源数据库同组件联系起来。 选项以“ -” 开始, 通常跟一个数值:一个整数、或者一个字符串是一个perl 标量、 数组、哈希数组或者代码指针。创建后,可以用配置方法改变选项值。配置方法的一般形式: $widget = configure(-option = value,...); 用 cget 命令查询选项的当前配置值: $widget = cget(-option); exam1.pl 显示一个窗口#####exam1.pl #! /usr/bin/perl5 -w use strict; use Tk; my $ main = new MainWindow; $main-Label(-text = Hello, world!)-pa

文档评论(0)

1亿VIP精品文档

相关文档