我搜寻了这个问题,发现两次相同的问题,但找不到其他版本的Julia。解决方案对我不起作用。我正在使用Xubuntu 18.04系统。
我用Gtk.jl的文档编写了这段代码:
using Pkg
Pkg.add( "Gtk" )
using Gtk
win = GtkWindow( "Tuto GTK", 400, 200)
b = GtkButton( "Click me!" )
push!( win, b )
showall(win)
一个简单的例子。
它在REPL中有效:
include( "file.jl" )
但是它不适用于以下命令:julia file.jl
我认为可能缺少一些初始化代码,但是julia可执行文件似乎没有冗长的选择。
有人可以帮忙吗?
答案 0 :(得分:0)
在您看到Gtk窗口之前,您的程序正在退出并关闭该窗口。在REPL中,该窗口是REPL程序的一部分,不会退出。
您需要一个等待循环。因此,替换
showall(win)
使用
showall(win)
while(true) sleep(0.1) end
或更流畅地
c = Condition()
endit(w) = notify(c)
signal_connect(endit, win, :destroy)
showall(win)
wait(c)