最简单形式的事件是在命令的帮助下处理的.事件处理的一个简单示例是使用按钮进行事件处理,并显示在下面和下面;
#!/usr/bin/wish proc myEvent { } { puts "Event triggered" } pack [button .myButton1 -text "Button 1" -command myEvent]
当我们运行上述程序时,我们将得到以下输出 :
显示延迟文本动画事件的简单程序如下所示 :
#!/usr/bin/wish proc delay {} { for {set j 0} {$j < 100000} {incr j} {} } label .myLabel -text "Hello................" -width 25 pack .myLabel set str "Hello................" for {set i [string length $str]} {$i > -2} {set i [expr $i-1]} { .myLabel configure -text [string range $str 0 $i] update delay }
当我们运行程序时,我们将以动画方式获得以下输出 :
延迟后事件的语法如下所示 :
after milliseconds number command
延迟后显示的简单程序事件显示在下面 :
#!/usr/bin/wish proc addText {} { label .myLabel -text "Hello................" -width 25 pack .myLabel } after 1000 addText
当我们运行程序时,我们将在一秒钟后得到以下输出 :
你加入n使用取消后命令取消事件,如下所示 :
#!/usr/bin/wish proc addText {} { label .myLabel -text "Hello................" -width 25 pack .myLabel } after 1000 addText after cancel addText
事件绑定的语法是如下所示 :
bind arguments
#!/usr/bin/wish bind . {puts "Key Pressed: %K "}
当我们运行程序并按下字母X时,我们将得到以下输出 :
Key Pressed: X
#!/usr/bin/wish bind . {puts "Button %b Pressed : %x %y "}
当我们运行程序并按下鼠标左键时,我们会得到类似的输出到以下&减去;
Button 1 Pressed : 89 90
#!/usr/bin/wish proc myEvent { } { puts "Event triggered" } pack [button .myButton1 -text "Button 1" -command myEvent] bind . ".myButton1 invoke"
当我们运行程序并按回车键时,我们将获得以下输出 :
Event triggered