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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 08:58:18828ブラウズ

How Can I Pass Extra Arguments to Qt Slots in Python?

Qt のスロットを介して追加の引数を渡す

シグナルを介してスロットに変数を渡すことは、特定のテキストまたはデータを表示する場合に便利です。指定された Python コードの目標は、変数 DiffP を searchfile 関数から入力スロットに渡すことです。これを実現するには、次の 2 つの方法があります。

1. Lambda 関数の使用

Lambda 関数を使用すると、スロットに追加の引数を渡すことができます。

self.buttonGroup.buttonClicked['int'].connect(lambda i: self.input(i, "text"))

この Lambda 関数は、最初の引数としてボタン ID (i) を渡し、追加の引数「text」を入力スロットの 2 番目の引数として指定します。

2. functools.partial

の使用

functools.partial 関数を使用して、追加の引数をスロットにバインドすることもできます。

from functools import partial

...
self.buttonGroup.buttonClicked['int'].connect(partial(self.input, "text"))

このアプローチでは、「text」引数をスロットにバインドします。入力スロットの最初のパラメータ。ボタン ID を 2 番目のパラメータとして渡すことができます。

どちらの方法でも、追加の引数を入力スロットに渡して、DiffP 変数またはその他の任意のテキストを出力できるようにします。

以上がPython で追加の引数を Qt スロットに渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。