【发布时间】:2013-08-05 20:44:14
【问题描述】:
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),在尝试了我能想到的一切之后仍然没有快乐。有什么想法可以让这个工作吗?我在想我只是没有完全掌握 Shoes 如何设置 GUI。
【问题讨论】: