2016-06-07 87 views
0

如何在不退出脚本的情况下关闭GUI?关闭GUI而不退出应用程序TCL

我有一个脚本每10分钟运行一次,每当脚本中有几个变量发生变化时都会调用GUI,但是当我关闭GUI时,应用程序也会关闭。我尝试添加-command {destroy .} 但它做同样的事情在传统知识的exit命令,这里是我的脚本

lappend auto_path "/bin/gui/scripts" 
package require scriptgui 
monitor /bin/files/folder1 /bin/files/folder2 
set i 0 
while {i < 1} { 
after 600000 
script 
} 

的GUI PROC称为脚本proc中,每当在脚本的pid变量的变化

回答

3

要使窗口消失而不破坏它(并结束应用程序),请在顶层使用wm withdraw

# Assuming you're just using the default one 
wm withdraw . 

您还可以拦截请求关闭窗口(通过wm protocol)和处理,通过撤销:

wm protocol . WM_DELETE_WINDOW { 
    wm withdraw . 
} 

但是,如果你这样做,确保你提供真正有一些其他的方式真正的流程退出(假设您正在创建一个正常的应用程序);令用户无法真正关闭程序并使其消失的令人沮丧。