用 fxruby 做了一个界面,运行程序时 puts 的打印信息都在标准输出界面上,想让信息实时显示在界面的文本框内,求指教
可以写到一个文件里吧,再读文件,可否?
先把 stdout 替换成管道
watch_reader, $stdout = IO.pipe
然后用 FXApp::addInput(watch_reader.fileno) 去检查读事件
FXApp::addInput(watch_reader.fileno)
http://rubydoc.info/gems/fxruby/Fox/FXApp:addInput
再在回调中读出文本,append 到文本框中
谢谢楼上的
#2 楼 @luikore https://ruby-china.org/topics/23236 能否看一下类似的问题?