文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Mastering Perl/Tk

Mastering Perl/Tk

时间:2007-06-15  来源:dingding

Mastering Perl/Tk

第一章 你好,Perl/Tk

Tk 是一个可以让你创建图形用户界面的 Perl 模块。大多数的 Perl 程序都是命令行用户界面,所以对一些最终用户来说,并不十分方便,甚至于有些繁琐。Perl/Tk 让你得以控制按钮,菜单,对话框,滚动文本区等等 -- 所有开发简单或者强健的 GUI 应用程序所需要的功能特点。

那么为什么我们要使用图形界面呢?你可能在编程时会遇到这样一种情况,纯粹基于文本交互太过笨拙,并不能满足我们的需求。某些应用程序可能根本就不需要什么输入信息,但有些(比如安装脚本)则需要用户不断提供一些相关的信息。它们会问这样一些问题:你要安装这个文件吗?我可以覆盖这个 DLL 吗?你要创建这个目录吗?你需要帮助文档吗?

图形用户界面(GUI,Graphical User Interface 的缩写)使应用程序表现得更加专业。这里是一些适合使用 GUI 的例子:

·         一个连接到目录服务器的微型 web 客户端

·         一个可以在上下翻卷的窗口中显示地图的应用程序

·         一个与数据库交互,并通过各种组件(widget)显示查询结果的程序

·         一个可以让你与收件箱(inbox)交互的电子邮件阅读工具,当然也可以发送邮件

如果你的老板说道:“快点把它变得更加容易使用!”,那么你就该考虑使用 GUI 。通常,使用 GUI 意味着你需要在原来的脚本之外封装一个用户交互界面,让用户更加容易理解他们所作的操作或者决断。

但这并不是说你该为你所有的 Perl 脚本添加 GUI。很多时候这项工作非常耗费时间。如果你所做的仅仅是读取一个文件,在不需要用户输入信息的情况下修改一些数据,并保存为另一个文件的时候,使用 GUI 就是一件愚蠢的事情了,因为根本就不必要这样做。当需要用户提供大量的复杂的信息的时候,GUI 才能显出它的优势。比如先前提到的安装程序。

1.1. Perl/Tk 的概念

Perl/Tk 程序使用面向对象(object-oriented,简称 OO )的风格书写,但你不需要具备以往的 Perl 的面向对象编程经验来编写 Perl/Tk 程序。看过一些例子后你会觉得写 Perl/Tk 程序是一件很容易的事情。Perl/Tk 的 widgets ,比如按钮(Button)和列表框(Listboxes)都是 对象 ,这些对象具备一些 方法 以便我们可以调用并控制它。除了 widgets 之外,images 也是 Perl/Tk 的对象,fonts 可以是对象,也可以是简单的字符串。

一个 Perl/Tk 程序由 多层的 widgets 组成。最顶层为 MainWindow ,这也是一个 widget,是应用程序中所有其他 widget 的顶级父 widget 。MainWindow 表现为一个容器,通过使用 版面排列管理(geometry manager) 来排布子 widget 。widget 的层次概念很重要,版面排列管理器利用层次概念来控制屏幕版面(layout),并决断菜单系统中菜单项目的排布方式。

每个不同的 widget 都从属于类(class)。类定义了 widget 的初始外观和行为,而同类中的各个独立的 widget 可被用户定制(customized)。举个例子,创建两个按钮(Button),它们的文字标签值不同,但是其他样式都一模一样。有时你会读到实例化(instantiating) 一个 widget。这是用面向对象术语来表述创建一个 widget (即一个 widget 实例(instance))。类 constructor 负责具体的创建实例工作。

类也通过绑定(bindings)来定义 widget 的初始行为。绑定关联某个事件(event),比如按下按钮事件可以通过使用 回调(callback)来关联用于处理该事件的函数。你可以增加额外的绑定,确切的说,也包括改变和删除现有的绑定,来改变 widget 的标准行为。回调有很多格式,但我们只简单的使用传递 Perl 函数的引用来实现回调。

在后续章节中,我们将学习上面所提到的一些论题。

 

相关阅读 更多 +
排行榜 更多 +
mirrox模组(玩家自制)手机版下载

mirrox模组(玩家自制)手机版下载

休闲益智 下载
集装箱模拟器手机版下载安装

集装箱模拟器手机版下载安装

模拟经营 下载
哔咔漫画app下载免费2025

哔咔漫画app下载免费2025

浏览阅读 下载