2009-11-22 2 views
0

Мне нужно периодически выполнять некоторые действия в моей программе GTK Ruby, и я ищу рабочий пример использования функции gobject.timeout_add().gobject.timeout_add example

ответ

1

вот короткий пример, показывающий тайм-аут каждый второй, который печатает сообщение foo. Истина в конце тайм-аута означает, что вы не хотите удалять таймаут. Возвратите false, если вы хотите, чтобы таймаут прекратил стрельбу.

require 'glib2' 

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

mainloop = GLib::MainLoop.new 
mainloop.run 
+0

Спасибо. Истина в конце блока - это то, что мне нужно. – demas

0

Я нашел это решение, но я не уверен:

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

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