Найти - Пользователи
Полная версия: Не запускается функция в классе
Начало » Python для новичков » Не запускается функция в классе
1
teachme
Не запускается функция ‘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()
Ed
Запускается. Добавьте print ‘timer’ перед вызовом gobject.timeout_add_seconds - увидите сами.
teachme
Ed
Запускается. Добавьте print ‘timer’ перед вызовом gobject.timeout_add_seconds - увидите сами.
Действительно, запускается, но почему не пишет ‘text’?
Ed
Скорее всего потому что программа завершается до истечения таймаута. Поставьте time.sleep(3) после main(), может и увидите свой ‘text’.
teachme
Ed
Поставьте time.sleep(3) после main()
не помогло
Ed
Ну тогда так сделайте:
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()
teachme
Работает! Спасибо! Я думал, что для gobject.timeout_add_seconds() необходимо импортировать только модуль gobject. Скажите пожалуйста, как вы нашли решение?
Ed
Ну, я немного работал с gtk. Знаю, что там нужен gtk.main, чтобы всякие gtk-шные ивенты обрабатывать. А gobject - это из той же оперы.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB