Ruby Shoes GUI:不断更新段落

前端之家收集整理的这篇文章主要介绍了Ruby Shoes GUI:不断更新段落前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
用于 Ruby的Shoes GUI工具包似乎是一种非常好的简单方法,可以在我的各种脚本中添加GUI,但是在对付它之后,我似乎无法通过循环不断更新段落.

这是我的最小代码,以显示我正在尝试做的事情:

Shoes.app do
    stack do
        @exit = button "Exit"
        @log = stack { para "Logging goes here..." }
        @exit.click { exit }

    end

    loop do
        sleep 1
        contents = `ls`
        @log.append { para contents }
    end

end

但这只是永远阻止,我的GUI永远不会出现,直到我杀死ruby进程,此时我的所有信息都出现了.

我已经尝试将“内容”检查循环并附加到一个单独的类中,在它自己的“堆栈”或“流”循环中,尝试将@log传递给一个单独的类的方法,根据鞋子中的“块重定向标题规则(http://shoesrb.com/manual/Rules.html),在尝试了我能想到的一切之后仍然没有乐趣.任何想法我怎么能这样工作?我想我还没有完全掌握鞋子如何设置GUI.

解决方法

如果您希望列出目录中的所有文件并每秒刷新一次列表,那么我认为这就是您要寻找的内容
Shoes.app do

  stack do
    @btn_exit = button("Exit") {exit}
    @log = para "Logging goes here..."
  end

  every 1 do
    @log.text = Dir.entries('C:/Test').select{|file| file != "."*file.length}.join("\n")
  end

end
原文链接:/ruby/271236.html

猜你在找的Ruby相关文章