朱莉娅+ GTK:关闭窗口的信号

时间:2018-04-07 23:24:55

标签: gtk julia

我是使用Julia + Gtk的新手,我尝试使用关闭窗口的按钮创建一个简单的窗口。下面的代码创建窗口和按钮,一切似乎工作正常,但当我按下按钮窗口没有关闭,程序停止响应,迫使我杀死Julia REPL。 REPL中不显示任何错误消息。

using Gtk

win = GtkWindow("Main", 100,50)
button = GtkButton("Exit")
push!(win,button)

showall(win)

signal_connect(button, :clicked) do widget
    println("Exit")
    Gtk.gtk_quit()
end

更新:

问题似乎出现在/src/events.js中的函数gtk_quit()中:

function gtk_quit()
    ccall((:gtk_main_quit, libgtk), Void, ())
end  

如果我用我的代码中的ccall((:gtk_main_quit,libgtk),Void,())替换Gtk.gtk_quit(),我得到"错误:UndefVarError:libgtk未定义"在REPL。

如果有人能说出这里的错误,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

您是否只是按照docs here

寻找destory功能?

如果您在上面的代码中将Gtk.gtk_quit()替换为destroy(win),则单击该按钮时窗口将关闭:

using Gtk

win = GtkWindow("Main", 100,50)
button = GtkButton("Exit")
push!(win,button)

showall(win)

signal_connect(button, :clicked) do widget
    Gtk.destroy(win)
    println("Exit")
end