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_mainGtk.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_maingtk_main_quit).