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

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值