首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于Gtk: Gtk窗口的Gtk.jl、:Gtk窗口不在REPL之外显示。

对于Gtk: Gtk窗口的Gtk.jl、:Gtk窗口不在REPL之外显示。
EN

Stack Overflow用户
提问于 2018-10-01 11:12:21
回答 1查看 255关注 0票数 1

我四处寻找这个问题,发现了同样的问题两次,但其他版本的朱莉娅。解决方案对我没有用。我用的是Xubuntu 18.04系统。

我用Gtk.jl的文档编写了这段代码

代码语言:javascript
复制
    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可执行文件似乎没有详细的选项。

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-01 17:25:24

在您看到Gtk窗口之前,您的程序正在退出并关闭该窗口。在REPL中,窗口是REPL程序的一部分,不退出。

你需要一个等待循环。所以,替换

代码语言:javascript
复制
showall(win)

任一种

代码语言:javascript
复制
showall(win)
while(true) sleep(0.1) end

或者,更顺利,

代码语言:javascript
复制
c = Condition()
endit(w) = notify(c)
signal_connect(endit, win, :destroy)
showall(win)
wait(c)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52589873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档