如何在不退出脚本的情况下关闭GUI?
我有一个每10分钟运行一次的脚本,只要脚本中的一些变量发生变化就会调用GUI,但是当我关闭GUI时,应用程序也会关闭。我尝试添加-command {destroy .}
但它与TK中的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
}
只要脚本proc中的变量发生更改
,就会在脚本proc中调用GUI proc答案 0 :(得分:3)
要使窗口消失而不破坏它(并结束应用程序),请在顶层使用wm withdraw
。
# Assuming you're just using the default one
wm withdraw .
您还可以拦截关闭窗口的请求(通过wm protocol
)并撤消处理:
wm protocol . WM_DELETE_WINDOW {
wm withdraw .
}
但是,如果你这样做,请确保提供一些其他方法来实际让进程退出(假设您正在进行正常的应用程序);用户无法真正关闭程序并让它消失,这令人沮丧。
答案 1 :(得分:0)
您可以使用以下内容关闭窗口:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="num">
<option>Select...</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<br/>
<select id="comment">
<option>Select...</option>
<option>Yes</option>
<option>No</option>
</select>
<br/>
<div id="log"></div>
http://www.tcl.tk/man/tcl8.4/TkCmd/wm.htm#M46
wm撤回 - 使窗口完全不可见,甚至不是图标。也让窗口管理器忘记了窗口。