私はシグナルを持っていますが、それはただ1つのことをする必要があります:放出された場合、変数に与えられた値を割り当てます。このためのメソッドを作成するのはばかげているように思われるので、私は考えていました:このようなことをする方法はありますか?
self.myButton.clicked.connect(self.someVariable = None)
ラムダを使用する:
self.myButton.clicked.connect(lambda : self.someVariable = None)
ノート:
self
スロット呼び出し時に参照されるため、次のことを行うことができます。
self.myButton.clicked.connect(lambda self=self: self.someVariable = None)
一部のウィジェットはパラメーターを使用してシグナルを送信するため、それらをラムダ定義に入れる必要があります。
self.myButton.clicked.connect(lambda checked=False, self=self: self.someVariable = None)
アップデート:
ラムダでは割り当てが許可されていないため、実際の関数などを使用する必要があります。
self.myButton.clicked.connect(lambda self=self: setattr(self, 'someVariable', None))