2017-01-26 24 views
2

に変更されたとき、私は、変数tPyQtはイベント変数値が

トン= 0

を持っている私は、t値が変更されるたびにイベントを開始したいです。 どのようにですか? variablechanged.connectプロパティや変数のためのものはありません。

答えて

2

グローバル変数の場合は、割り当てを単独で使用することはできません。しかし、属性の場合は非常に単純です:property(または多分__getattr__/__setattr__)を使用してください。これは、効果的にあなたが好き、追加のどんな振る舞いを追加することができ、関数呼び出しに割り当てを回す:

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) 

今、あなたはfoo = Foo(); foo.t = 5を行うことができますし、値が変更された後の信号が放出されます。

関連する問題