IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Paramètre dans un signal qui contient déja des paramètres


Sujet :

PyQt Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Points : 140
    Points
    140
    Par défaut Paramètre dans un signal qui contient déja des paramètres
    Bonjour,
    Ci dessous, mon signal et la fonction appelé, le problème c'est que cela m'écrit :
    1
    x <type 'int'> y <type 'int'>
    x <type 'int'> y <type 'int'>

    mais le 1 correspond au x donnée par cellClicked(int, int). Donc, je vois pas comment faire.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.msa_output.connect(self.msa_output.table_aligt,SIGNAL('cellClicked(int, int)'), lambda msa=self.msa_output.id_msa: self.click_msa(int,int,id))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def click_msa(self,x, y, id):
            print id
            print "x ",x," y ",y
    merci!

    Alaninho

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Salut,

    Je suppose que les deux int de fin sont censés être ceux de cellClicked()

    self.msa_output.connect(self.msa_output.table_aligt,SIGNAL('cellClicked(int, int)'), lambda msa=self.msa_output.id_msa: self.click_msa(int,int,id))

    Hélas ça ne marche pas du tout comme ça.

    De plus, je remarque que dans tes codes tu fais grand usage de lambda dans ces connexions, très inutilement.

    La mécanique de la programmation objet permet de se passer de cette pratique dans 95 % des cas.

    Ceci doit fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    self.msa_output.table_aligt.cellClicked.connect(self.click_msa)
     
    def self.click_msa(self, row, col):
        print "Selection  row: %s, column: %s" % (row, col)
        print "Id msa: %s" % self.msa_output.id_msa
    Et si ça ne marche pas c'est que ton code est mal foutu ailleurs. Si, si.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Points : 140
    Points
    140
    Par défaut
    okok, c'est mon code qui est mal foutu alors, lol! Je vais regarder pour améliorer ça, c'est mon premier gros projet en Python et pyqt donc je dois encore progresser.

    Merci de tn aide.

Discussions similaires

  1. [AC-2000] Comment rechercher une valeur dans une table qui contient des paliers
    Par ClaudeLELOUP dans le forum Access
    Réponses: 16
    Dernier message: 13/07/2012, 16h43
  2. Supprimer des images générées par boucle et xml dans un clip qui contient un bouton
    Par yuyuboy dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 28/04/2010, 15h39
  3. Réponses: 4
    Dernier message: 31/08/2007, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo