Уведомления

Группа в Telegram: @pythonsu

#1 Июль 2, 2011 17:03:41

teachme
От:
Зарегистрирован: 2011-05-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Не запускается функция ‘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()



Офлайн

#2 Июль 2, 2011 18:05:40

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Запускается. Добавьте print ‘timer’ перед вызовом gobject.timeout_add_seconds - увидите сами.



Офлайн

#3 Июль 2, 2011 19:12:38

teachme
От:
Зарегистрирован: 2011-05-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Ed
Запускается. Добавьте print ‘timer’ перед вызовом gobject.timeout_add_seconds - увидите сами.
Действительно, запускается, но почему не пишет ‘text’?



Офлайн

#4 Июль 2, 2011 19:52:31

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Скорее всего потому что программа завершается до истечения таймаута. Поставьте time.sleep(3) после main(), может и увидите свой ‘text’.



Офлайн

#5 Июль 2, 2011 20:57:01

teachme
От:
Зарегистрирован: 2011-05-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Ed
Поставьте time.sleep(3) после main()
не помогло



Офлайн

#6 Июль 2, 2011 21:29:05

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Ну тогда так сделайте:

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()



Офлайн

#7 Июль 2, 2011 21:48:30

teachme
От:
Зарегистрирован: 2011-05-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Работает! Спасибо! Я думал, что для gobject.timeout_add_seconds() необходимо импортировать только модуль gobject. Скажите пожалуйста, как вы нашли решение?



Офлайн

#8 Июль 2, 2011 22:11:20

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Не запускается функция в классе

Ну, я немного работал с gtk. Знаю, что там нужен gtk.main, чтобы всякие gtk-шные ивенты обрабатывать. А gobject - это из той же оперы.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version