观察属性的变化

9 投票
1 回答
4417 浏览
提问于 2025-04-16 08:44

我需要一个功能,类似于 gobject.io_add_watch,但是是用来监视一个变量的。例如,它需要监视一个名为 stop 的变量,这个变量初始化为 stop = False,当 stop 被改成 True 时,它必须调用一个函数。我不能用一个单独的线程在循环中监视这个变量,也不能用 time.sleep

有没有这样的函数或者方法呢?

1 个回答

21

在一个类里面使用 属性

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

撰写回答