Julia Tk:防止脚本退出

时间:2014-05-21 20:30:29

标签: tk julia

如何编写创建Tk GUI的Julia脚本,然后一直持续到用户退出程序?

我的问题是我的脚本终止,导致我创建的任何窗口也终止。我想做一些事情,使我的代码一直运行,直到我关闭窗口(或按下转义或其他东西)。有没有办法做到这一点? Tk提供的示例假设您使用的是REPL。

调用sleep()类似的工作,但不是一个好的解决方案。是否有推荐的解决方案优于:

done = false
while !done
    sleep(1)
    done = check_if_done(...)
end

谢谢。

3 个答案:

答案 0 :(得分:2)

来自:https://github.com/JuliaLang/Gtk.jl/issues/38

在脚本末尾调用''wait(Condition())“以防止终止

(也是该页面上的其他建议/讨论)

答案 1 :(得分:1)

更好的是

if !isinteractive()
    wait(Condition())
end

因此,如果您从REPL运行脚本,则不必按CTRL-C。

这是一个通用的解决方案(它并没有真正使用图形工具包),尽管jverzani指出上面有一个很好的基于Tk的解决方案。

答案 2 :(得分:0)

您是否尝试将以下代码添加到最后?

set_visible(w, true);

与:http://rosettacode.org/wiki/Hello_world/Graphical#Julia

进行比较