gobject.timeout_add示例

时间:2009-11-22 20:08:34

标签: ruby gtk

我需要定期对我的GTK Ruby程序执行一些操作,我正在寻找使用gobject.timeout_add()函数的工作示例。

2 个答案:

答案 0 :(得分:1)

这是一个简短的示例,显示每秒打印消息foo的超时时间。超时块结束时的true表示您不想删除超时。如果希望超时停止触发,则返回false。

require 'glib2'

GLib::Timeout.add(1000) do 
  puts "foo"            
  true
end

mainloop = GLib::MainLoop.new
mainloop.run

答案 1 :(得分:0)

我找到了这个解决方案,但我不确定:

class MainWin 
   def initialize() 
     @window = Gtk::Window::new 
     .... 
     periodic 
   end 

   def periodic 
     do_something 
     Glib::Timeout.add(100) { periodic } 
   end
 end