Наблюдая за изменениями - PullRequest
       5

Наблюдая за изменениями

6 голосов
/ 19 декабря 2010

Мне нужна функция, аналогичная gobject.io_add_watch, но для переменной.Например, он должен смотреть переменную stop, инициализированную на stop = False, а когда остановка меняется на True, он должен вызывать функцию.У меня не может быть отдельного потока, наблюдающего за переменной в цикле с time.sleep.

Есть ли такая функция или способ сделать это?

1 Ответ

19 голосов
/ 19 декабря 2010

Используйте свойство в классе:

class Stopwatch(object):
    def __init__(self, callback):
        self._stop = False
        self.callback = callback

    @property
    def stop(self): return self._stop

    @stop.setter
    def stop(self, value):
        self._stop = value
        if value: self.callback()
...