代码之家  ›  专栏  ›  技术社区  ›  DanielPerez

Julia+GTK:关闭窗户的信号

  •  0
  • DanielPerez  · 技术社区  · 7 年前

    我刚刚使用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中的函数gtk\u quit()中。js公司:

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

    如果我更换Gtk。gtk\u quit()和ccall((:gtk\u main\u quit,libgtk),Void,())在我的代码中,我在REPL中得到“ERROR:undefarerror:libgtk not defined”。

    如果有人能提出问题所在,我将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  2
  •   niczky12 AleÅ¡ Kotnik    7 年前

    你不仅仅是在寻找 destory 功能按照 docs here ?

    如果更换 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