Maison >développement back-end >Tutoriel Python >Comment puis-je transmettre des arguments supplémentaires aux emplacements Qt en Python ?

Comment puis-je transmettre des arguments supplémentaires aux emplacements Qt en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-02 08:58:18726parcourir

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

Passer des arguments supplémentaires via les emplacements de Qt

Passer des variables aux emplacements via des signaux peut être utile pour afficher du texte ou des données spécifiques. Dans le code Python donné, le but est de transmettre la variable DiffP de la fonction searchfile au slot d'entrée. Voici deux façons d'y parvenir :

1. Utilisation des fonctions Lambda

Les fonctions Lambda vous permettent de transmettre des arguments supplémentaires à un emplacement :

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

Cette fonction lambda transmet l'ID du bouton (i) comme premier argument et le argument supplémentaire "texte" comme deuxième argument de l'emplacement d'entrée.

2. Utilisation de functools.partial

La fonction functools.partial peut également être utilisée pour lier des arguments supplémentaires à un emplacement :

from functools import partial

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

Cette approche lie l'argument "texte" au premier paramètre de l'emplacement d'entrée, permettant de transmettre l'ID du bouton comme deuxième paramètre.

L'une ou l'autre méthode vous permet de transmettre des arguments à l'emplacement d'entrée, vous permettant d'imprimer la variable DiffP ou tout autre texte souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn