2017-01-26 2 views

Antwort

2

Für eine globale Variable ist dies nicht allein durch Zuweisung möglich. Aber für ein Attribut ist es ziemlich einfach: Verwenden Sie einfach eine property (oder vielleicht __getattr__/__setattr__). Dadurch wird effektiv Zuordnung in einen Funktionsaufruf, so dass Sie, was zusätzliches Verhalten Sie gerne hinzufügen:

class Foo(QWidget): 
    valueChanged = pyqtSignal(object) 

    def __init__(self, parent=None): 
     super(Foo, self).__init__(parent) 
     self._t = 0 

    @property 
    def t(self): 
     return self._t 

    @t.setter 
    def t(self, value): 
     self._t = value 
     self.valueChanged.emit(value) 

Jetzt können Sie foo = Foo(); foo.t = 5 tun und das Signal wird ausgesendet, nachdem der Wert geändert hat.

Verwandte Themen