Gtk.jl, Юлия Привязки для Gtk: Окно Gtk не отображается за пределами REPL - PullRequest
0 голосов
/ 01 октября 2018

Я искал эту проблему и два раза находил один и тот же вопрос, но для других версий Джулии.И решения не сработали для меня.Я использую систему Xubuntu 18.04.

Я написал этот код с документацией Gtk.jl :

    using Pkg
    Pkg.add( "Gtk" )
    using Gtk

    win = GtkWindow( "Tuto GTK", 400, 200)
    b = GtkButton( "Click me!" )

    push!( win, b )

    showall(win)

Простой пример.

Работает в REPL:

  • Если я последовательно ввожу операторы в REPL
  • Если я записываю код в файл (скажем, file.jl) ипроблема include( "file.jl" )

Но она не работает с командой: julia file.jl

Я думаю, что, возможно, отсутствует какой-то код инициализации, но исполняемый файл julia не выглядитиметь подробный вариант.

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 01 октября 2018

Ваша программа выходит и закрывает окно, прежде чем вы увидите окно Gtk.В REPL окно является частью программы REPL и не закрывается.

Вам необходим цикл ожидания.Итак, замените

showall(win)

на

showall(win)
while(true) sleep(0.1) end

или, более плавно,

c = Condition()
endit(w) = notify(c)
signal_connect(endit, win, :destroy)
showall(win)
wait(c)
...