2.TCL脚本学习——Tk入门基础

2.TCL脚本学习——Tk入门基础

Tk 是对 Tcl 的图形工具箱扩展。Tk 发行版与 Tcl 的发行版是在一起的。

Tk第一个例子

内容如下:

package require Tk

button .hello -text Hello \

  -command{puts stdout \

  "Hello,World!"}

button .goodbye -text Bye! \

  -command{exit}

 

pack .hello -padx 60 -pady 5

pack .goodbye -padx 60 -pady 5

输出一个界面。

定义了两个按钮小部件 .hello 和 .goodbye ―它们被放进窗口中,该窗口收缩至由指定按钮间距定义的大小。执行该脚本时,在左边会显示一个对话框。单击 Hello 按钮,在父终端窗口中得到“Hello,World!”输出,单击 Bye! 以终止脚本。

Tk 小部件

button ― 有二十多种配置选项(从 anchor 和 font 到 padx 和 relief)的简单小部件。

canvas ― 画布是一种小部件,不仅可以包含其它小部件,而且包含各种类型的结构化图形,包括圆、线和多边形。

checkbutton ― 创建复选框样式的按钮小部件,它链接到一个变量。

entry ― 构建单行文本输入框。

frame ― 框架是主要用作容器或定位架的小部件。

label ― 创建标签对象。

listbox ― 创建文本字符串列表框。在定义小部件之后,添加各项。

menu ― 单个多面小部件,包含多种菜单样式的各种项。

menubutton ― 为下拉菜单实现提供可单击的顶级界面。

message ― 创建包括版本调整和字自动换行特性的文本显示窗口小部件。

radiobutton ― 创建单选按钮,它可以是与指定变量相关的一个集合之一。

scale ― 为在指定范围和分辨率内选择值而创建滑动块。

scrollbar ― 为在相关小部件中更改部分内容(通常是文本或图)而生成小部件。

text ― 创建显示一个或多个文本行并允许编辑该文本的小部件。

toplevel ― 创建新的顶级(在 X 桌面上)窗口。

调用演示

代码如下:

package require Tk

. configure -width 200 -height 400

label .header -text "Tk Tutorial Example"

place .header -x 5 -y 2

scale .slider -from 1 -to 100 -orient horiz

.slider configure -variable SlidVal

place .slider -x 5 -y 20

entry .slidbox -width 5 -textvariable SlidVal

place .slidbox -x 120 -y 38

radiobutton .one -text "Don't Worry"-variable Mood -value 1

radiobutton .two -text "Be Happy" -variableMood -value 2

place .one -x 5 -y 70

place .two -x 5 -y 90

text .twindow -width 22 -height 14 -font {clean -14}

place .twindow -x 5 -y 120

button .ok -command {process_data $SlidVal} -text"OK"

button .cancel -command {exit} -text"Cancel" -background red

place .ok -x 15 -y 350

place .cancel -x 120 -y 350

执行如下图1:

点击OK按钮时候会报错,因为没有process_data函数。

点击cancel按钮后退出。

其他命令

bind 创建 Tcl 脚本和 X 事件之间的关联;

clipboard 是另一种多功能 Tk 命令 ― 它包含用于清除内容、装入内容和将内容粘贴到 Tk 剪贴板以及从 Tk 剪贴板粘贴内容

destroy 用于删除窗口及其所有子窗口。在‘.’(根)窗口中使用时,它删除整个应用程序。event 是一种功效强大的工具,用于生成虚拟窗口事件并将这些事件插入正在处理的队列中,就好象实际事件已经真的发生一样。

font 命令用于创建指定的系统字体实例。它允许系统字体的本地(对于脚本而言)命名、已命名字体的属性修改以及字体的“删除”。在 wish 提示符下输入 font families,可以获得可用字体的列表。

焦点是窗口管理舞台中的一个重要概念 ― 在任何给定的显示中,每次只能有一个窗口“注意”键盘和鼠标。Tk focus 命令用于将脚本控制交给显示焦点,并将它发送到指定窗口。

 grab 允许 Tk 独占对某处的显示焦点,在该处,在窗口环境中报告位于窗口之外发生的事件。当要在任何其它系统活动发生之前强迫完成某一选项时,这是有用的。

grid,控制 Tk 窗口几何性质的接口。它用于在窗口中以行和列的格式安排小部件。

lower(和补充命令 raise)解决子窗口的可见性。下层(lowered)窗口不会遮掩与其重叠的兄弟窗口;上层(raised)窗口被带到最上层。在显示多个文档情形下会经常使用。

许多 Tk 小部件和命令都使用一组公共的标准选项。可以使用 option 命令来查看或添加它们。

对于将小部件和子窗口放入窗口中,有两条命令:pack 和 place。其最简单的使用,pack 将一个或多个小部件添加到窗口,并将这些对象周围的窗口缩小至我们在本节开始部分的 Tk Hello 示例中所看到的那样,除非另有指明。

place 使用相对或绝对尺寸来设置和显示父窗口中的对象,例如,从左边开始的 5 个像素,或窗口下一半(0.5)。

其它命令包括

selection,X 对象选择工具集的接口;

tk,它提供对 Tk 解释器内部状态的所选择部分的访问;

winfo 命令,用于检索有关 Tk 管理的窗口的数据;

wm,正在运行窗口管理器的界面,用于设置从标题栏文本到所有类型的几何规范和约束的多个功能。

相关推荐
Tcl_TK编程权威指南pdf 内容简介回到顶部↑Tcl/Tk是第一种能通过Windows、Macintosh和Solaris等主要平台处理企业级任务的脚本语言。本书共分为55章,依次详细讲述了Tcl基础Tcl高级特性、TK基础TK组件、TK详解、C语言编程、各版本之间的差异等方面的知识,并通过大量实例,生动翔实地向读者介绍了Tcl/Tk编程,是读者掌握Tcl/Tt的必备参考书。 本书适合各个层次的读者阅读。 目录回到顶部↑第1部分 tcl基础 第1章 tcl的基本知识 tcl命令 hello,world! 变量 命令替换 数学表达式 反斜杠替换 使用花括号和双引号进行分组 过程 一个阶乘的例子 更多有关变量的知识 更多有关数学表达式的内容 注释 有关替换与分组的总结 要点 参考 第2章 开始使用 source命令 unix上的tcl脚本程序 .windows 95的开始菜单 macintosh与resedit console命令 命令行变元 预定义变量 第3章 cgi应用程序--顾客留言簿 html简介 使用cgi创建动态页面 guestbook.cgi脚本程序 定义表单以及处理表单数据 cgi.tcl软件包 接下去的几步 第4章 tcl中的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章 tcl列表 tcl列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 相关章节 第6章 控制结构命令 if then else switch while foreach for break与continue catch error return 第7章 过程与作用域 proc命令 使用rename来改变命令名 作用域 global命令 通过upvar以名字进行调用 使用upvar来处理变量别名 第8章 tcl数组 数组的语法 array命令 使用数组来构建数据结构 第9章 对文件和程序的操作 使用exec运行程序 file命令 跨平台的文件命名方式 操作文件和目录 文件属性 对i/o命令的总结 打开文件用于i/o操作 读写操作 当前目录-cd和pwd 使用glob来匹配文件名 exit和pid命令 环境变量 registry命令 第2部分tcl高级特性 第10章 引用问题与eval 使用list命令来构建代码 在eval内部利用concat uplevel命令 subst命令 第11章 正则表达式 何时使用正则表达式 正则表达式的语法 高级正则表达式(are) 语法总结 regexp命令 rgsub命令 使用regsub将数据转换为程序 其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件tclindex的库 unknown命令 方便交互 tclshell的库环境 编码风格 第13章 反射与调试 clock命令 info命令 跨平台支持 跟踪变量的值 交互式命令历史记录 调试 scriptics的tclpro 其他工具 性能调校 第14章 名字空间 使用名字空间 名字空间变量 命令查找 嵌套名字空间 过程的进口与输出 回调与名字空间 内省(introspection) namespace命令 转换现有的软件包以使用名字空间 [incrtcl]对象系统 注意事项 第15章 国际化(internationalization) 字符集与编码 消息目录 第16章 事件驱动的编程 tcl事件循环 after命令 fileevent命令 vwait命令 fconfigure命令 第17章 套接字编程 客户端套接字 服务器端套接字 回送(echo)服务 使用http获取一个url http软件包 基本认证 第18章 tclhttpd web服务器 将 tclhttpd与你的应用程序集成 域处理程序 应用执导的url 文档类型 html+tcl模板 表单处理程序 编程参考 标准应用执导(application-dirct)的url tclhttpd发行版 服务器配置 第19章 多解释器与 safe-tcl interp命令 创建解释器 安全解释器 命令别名 隐藏命令 替换 从安全解释器中执行i/o操作 安全基
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页