我需要一个类似于gobject.io_add_watch
的函数,但需要一个变量。例如,它需要观察已初始化为stop
的变量stop = False
,当停止更改为True
时,它必须调用函数。我不能让一个单独的线程在一个带有time.sleep的循环中观察变量。
是否有这样的功能或方法?
答案 0 :(得分:19)
在班级中使用property:
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()