ホームページ > バックエンド開発 > Python チュートリアル > PyQt スロット接続に追加の引数を渡すにはどうすればよいですか?

PyQt スロット接続に追加の引数を渡すにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-23 04:46:12
オリジナル
935 人が閲覧しました

How Can I Pass Extra Arguments to PyQt Slot Connections?

スロット接続の追加の引数

質問:

動作を変更するためにスロットを介して追加の変数を渡すことは可能ですか?接続されたもののfunction?

答え:

はい、これを実現するには 2 つの方法があります:

Lambda 関数を使用する

ラムダを使用する追加の引数をスロットに渡すための 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 の使用

使用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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート