質問:
動作を変更するためにスロットを介して追加の変数を渡すことは可能ですか?接続されたもののfunction?
答え:
はい、これを実現するには 2 つの方法があります:
ラムダを使用する追加の引数をスロットに渡すための connect メソッド内の関数function.
self.buttonGroup.buttonClicked['int'].connect(lambda i: self.input(i, "text")) @pyqtSlot(int) def input(self, button_or_id, DiffP): ...
この例では、ラムダ関数を使用して追加の引数「text」が入力スロット関数に渡されます。
使用functools.partial 関数は、スロット関数を作成する前に追加の引数をバインドします。
from functools import partial ... self.buttonGroup.buttonClicked['int'].connect(partial(self.input, "text")) @pyqtSlot(int) def input(self, DiffP, button_or_id): ...
この例では、部分関数を使用して、追加の引数「text」が入力スロット関数にバインドされています。
どちらのメソッドでも、スロット関数に追加情報を渡すことができます。により、Qt アプリケーションの柔軟性とカスタマイズが向上します。
以上がPyQt スロット接続に追加の引数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。