Запуск функции через 5 секунд после появления виджета pygtk

Как запустить функцию через 5 секунд после появления виджета pygtk?

2 Solutions collect form web for “Запуск функции через 5 секунд после появления виджета pygtk”

Вы можете использовать glib.timeout_add ( интервал , обратный вызов , ) для периодического вызова функции.

Если функция возвращает True, она будет вызываться снова после интервала; если функция возвращает False, то она не будет вызываться снова.

Ниже приведен краткий пример добавления тайм-аута после события showget widget:

import pygtk pygtk.require('2.0') import gtk import glib def timer_cb(): print "5 seconds elapsed." return False def show_cb(widget, data=None): glib.timeout_add(5000, timer_cb) def destroy_cb(widget, data=None): gtk.main_quit() def main(): window = gtk.Window(gtk.WINDOW_TOPLEVEL) window.connect("show", show_cb) window.connect("destroy", destroy_cb) window.show() gtk.main() if __name__ == "__main__": main() 

Если время не критично, чтобы быть точным до десятой доли секунды, используйте

 glib.timeout_add_seconds(5, ..) 

иначе, как указано выше.

timeout_add_seconds позволяет системе выровнять тайм-ауты с другими событиями, в конечном счете уменьшая пробуждения процессора (особенно, если тайм-аут повторяется) и экономит энергию для планеты (!)

  • Бэкэнд Gtk * требует установки pygtk
  • Отображение gtk.Calendar в меню?
  • Как указать иерархию каталогов в виджетах GtkTreeView?
  • Некоторые вопросы о переключателях в python
  • отдельные потоки в приложении pygtk
  • Python AppIndicator bindings -> howto проверить, открыто ли меню?
  • pyGame в приложении pyGTK
  • Остановить графический интерфейс pygtk от блокировки во время длительного процесса
  • Python - лучший язык программирования в мире.