.
.
名称
update - 处理挂起的事件和空闲回调
语法
update ?idletasks?
描述
这个命令用来给应用程序“更新”,进入事件循环直到所有挂起的事件和空闲回调都执行完毕。
如果指定idletasks,就不处理新的事件或错误,只有空闲回调被调用,这就导致操作被延迟了,就像显示更新和窗口设计,会被立刻执行。
当应用程序的状态发生变化和需要这些变化立刻显示时update idletasks命令是非常有用的,不用等待到脚本完成。多数显示更新被当作空闲回调来执行,所以update idletasks可以使它们运行。但是这里有一些更新只能在事件响应中发生,像窗口尺寸变化触发等,这些更新不会在update idletasks中发生。
当运行一个长的运算但是仍然想和应用程序交互时,update命令在脚本中非常有用。
示例
运行一个循环约一秒钟后停止:
set x 1000
set done 0
after 1000 set done 1
while {!$done} {
#一个无聊的例子
set x [expr {log($x) ** 2.8}] #测试时间是否到
update
}