我正在尝试将Julia与REPL之外的Gtk包一起使用。
使用此代码:
Using Gtk.ShortNames
win = @Window("My Window")
REPL中的可以工作,但是相同的代码放在test.jl文件中并使用:
julia test.jl
在命令行中不起作用。
我尝试过这里写的方法:https://github.com/JuliaLang/Gtk.jl
Using Gtk.ShortNames
win = @Window("gtkwait")
# Put your GUI code here
if !isinteractive()
c = Condition()
signal_connect(win, :destroy) do widget
notify(c)
end
wait(c)
end
代码运行但没有窗口出现。
如果有任何帮助,我会使用4.1 Linux内核的Manjaro Linux并安装GTK2和GTK3库。
答案 0 :(得分:3)
你的代码,实际上是文档所说的,对我来说也不起作用(Julia 0.4.0,Gtk.jl 0.9.2)。也许文档已经过时了。
使用Gtk.gtk_main
和Gtk.gtk_quit
:
using Gtk.ShortNames
win = @Window("Hello")
signal_connect(win, :destroy) do widget
Gtk.gtk_quit()
end
Gtk.gtk_main()
我不知道这是否是“正确”的方式,但它确实有效,并且更接近于GTK +的C API中的工作方式(gtk_main
和gtk_main_quit
)。