connect avec pyqt4

Le problème exposé dans ce sujet a été résolu.

Bonjour chers amis je développe mon application en python et je voudrais que lorsqu’un utilisateur clique sur un bouton on me lance la fonction affichehisto avec l’argument 2 par exemple mais lorsque je tape ce code on me ramène une erreur.

bouton.clicked.connect(self.affichehisto(2))

TypeError: connect() slot argument should be a callable or a signal, not ’NoneType’

+0 -0

Ici la méthode connect attend une callback. C’est à dire une fonction qu’elle pourra rappeler au bon moment (quand on a clické sur le bouton je suppose).

Du coup, du doit lui passer une fonction. Soit tu fais une fonction normale et c’est un peu long et verbeux pour pas grand chose, soit tu crées une lambda qui est bien plus adapté aux fonctions courtes à usage unique comme ici.

+0 -0

Du coup, du doit lui passer une fonction. Soit tu fais une fonction normale et c’est un peu long et verbeux pour pas grand chose, soit tu crées une lambda qui est bien plus adapté aux fonctions courtes à usage unique comme ici.

ache

Soit la fonction partial du module functools, suivant les cas d’utilisation (ici ça ne sera pas forcément plus clair qu’une lambda).

Intéressant. Je ne connaissais pas.

@melo96: Pour être précis, soit tu passes pas une fonction classique, soit pas une lambda, soit par un foncteur (Un objet fonction).

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte