Julia Gtk Windows 不在 REPL 外显示
Julia Gtk Windows do not display outside REPL
我正在尝试将 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
代码运行但没有出现 window。
如果有任何帮助,我正在使用 4.1 Linux 内核的 Manjaro Linux 并安装了 GTK2 和 GTK3 库。
你的代码,也就是文档所说的那样,对我也不起作用(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()
我不知道这是否是 "right" 方式,但它确实有效并且更接近 GTK+ 的 C API 中的工作方式(使用 gtk_main
和 gtk_main_quit
).
我正在尝试将 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
代码运行但没有出现 window。
如果有任何帮助,我正在使用 4.1 Linux 内核的 Manjaro Linux 并安装了 GTK2 和 GTK3 库。
你的代码,也就是文档所说的那样,对我也不起作用(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()
我不知道这是否是 "right" 方式,但它确实有效并且更接近 GTK+ 的 C API 中的工作方式(使用 gtk_main
和 gtk_main_quit
).