Ruby 的鞋子 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
但这只会永远阻塞,直到我终止 ruby 进程,我的 GUI 才会出现,此时我的所有信息都会出现。
我尝试将“内容”检查循环并附加到一个单独的类中,在它自己的“堆栈”或“流”循环中,尝试根据鞋子中的“块重定向”标头将@log 传递给单独的类的方法规则(http://shoesrb.com/manual/Rules.html),在尝试了我能想到的一切之后仍然没有乐趣。有什么想法可以让这个工作吗?我在想我只是没有完全掌握鞋子是如何设置 GUI 的。