加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby Shoes GUI:不断更新段落

发布时间:2020-12-16 19:31:13 所属栏目:百科 来源:网络整理
导读:用于 Ruby的Shoes GUI工具包似乎是一种非常好的简单方法,可以在我的各种脚本中添加GUI,但是在对付它之后,我似乎无法通过循环不断更新段落. 这是我的最小代码,以显示我正在尝试做的事情: Shoes.app do stack do @exit = button "Exit" @log = stack { para "
用于 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读