Форум сайта python.su
Не запускается функция ‘timer’
import gobject
class main(object):
def __init__(self):
self.timer()
def timer(self):
gobject.timeout_add_seconds(1, self.x)
def x(self):
print 'text'
return True
main()
Офлайн
Запускается. Добавьте print ‘timer’ перед вызовом gobject.timeout_add_seconds - увидите сами.
Офлайн
EdДействительно, запускается, но почему не пишет ‘text’?
Запускается. Добавьте print ‘timer’ перед вызовом gobject.timeout_add_seconds - увидите сами.
Офлайн
Скорее всего потому что программа завершается до истечения таймаута. Поставьте time.sleep(3) после main(), может и увидите свой ‘text’.
Офлайн
Edне помогло
Поставьте time.sleep(3) после main()
Офлайн
Ну тогда так сделайте:
import gtk
import gobject
class main(object):
def __init__(self):
self.timer()
def timer(self):
gobject.timeout_add_seconds(1, self.x)
def x(self):
print 'text'
return True
main()
gtk.main()
Офлайн
Работает! Спасибо! Я думал, что для gobject.timeout_add_seconds() необходимо импортировать только модуль gobject. Скажите пожалуйста, как вы нашли решение?
Офлайн
Ну, я немного работал с gtk. Знаю, что там нужен gtk.main, чтобы всякие gtk-шные ивенты обрабатывать. А gobject - это из той же оперы.
Офлайн