Exemple #1
0
def tkVariable(var: Variable, key: str, default=None):
    """
    将tkinter的var绑定到缓存
    :param var:
    :param key:
    :param default:
    :return:
    """
    _cache = cache.get(key, default=None)
    if _cache is None:
        if default is not None:
            var.set(default)
    else:
        var.set(_cache)
    var.trace('w', lambda a, b, c: cache.set(key, var.get()))
Exemple #2
0
class Prop:
    def __init__(self, initialValue=None, callback=None):
        self._var = Variable(value=initialValue)
        if callback is not None:
            self._var.trace(mode='w', callback=callback)

    def get(self):
        return self._var.get()

    def set(self, value):
        self._var.set(value)

    def on_change(self, listener):
        def update(*dummy):
            listener(self._var.get())
            self._var.trace('w', update)