Julia Gtk Windows不显示在REPL之外

时间:2015-11-05 16:10:11

标签: linux gtk julia read-eval-print-loop

我正在尝试将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库。

1 个答案:

答案 0 :(得分:3)

你的代码,实际上是文档所说的,对我来说也不起作用(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()

我不知道这是否是“正确”的方式,但它确实有效,并且更接近于GTK +的C API中的工作方式(gtk_maingtk_main_quit)。