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
Libérer: 2024-12-02 08:58:18
original
796 Les gens l'ont consulté

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"))
Copier après la connexion

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"))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal