我需要实现包含多行文本框的gui来显示日志。
我使用“file-tail”gem来从文件中读取流。我添加了swt线程asyncExec来异步管理gui元素。但是当我执行代码时,gui会冻结,并且没有任何东西放到文本区域。
@display.asyncExec {
File.open("path_to_the_file") do |log|
log.extend(File::Tail)
log.backward(10)
log.tail {|line|
@text_area.append line
}
end
}
答案 0 :(得分:1)
这个帖子的例子(感谢@Baz)
threads = Thread.new {
File.open("path_to_the_file") do |log|
log.extend(File::Tail)
log.backward(10)
log.tail {|line|
@display.asyncExec {
@text_area.append line
}
}
end
}