我是使用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。
如果有人能说出这里的错误,我将不胜感激。
答案 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