Наблюдение за элементами контейнера с использованием pubsub - PullRequest
0 голосов
/ 14 ноября 2018

Кажется, это должно быть просто умопомрачительно, но я ничего не нахожу.

С pubsub я могу сделать что-то вроде

class foo():
    def __init__(self):
        self.blorb = 5

    def __setattr__(self, name, value):
        pub.sendMessage("foo." + name)

, и тогда любой может сделать

pub.subscribe(myFunction, "foo.blorb")

, чтобы получать уведомления при каждом изменении blorb.И это единственное определение __setattr__ позволяет мне подписаться на любой возможный член класса, просто установив прослушиватель на соответствующую строку темы.

Но если blorb - это список, и я хочу получать уведомления, когда какой-либо элемент изменяется или даже подписываться на отдельный элемент списка, есть ли такой же простой способ сделать это?Или мне нужно сделать что-то вроде обтекания списка методами для доступа / изменения элементов?

...