Bonjour, voilà j'ai un pti pb avec Qt depuis qqes jours que je n'arrive pas à résoudre (je précise que je ne suis pas hyper calé en Qt...)

Le problème réside dans le fait que lorsque je connecte plusieurs boutons à un slot unique identifié par un entier, ce slot me retourne plein de fois l'entier (^^ je mets le code par souci de clarté...)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
QSignalMapper * SignalMapper = new QSignalMapper(this);
QPushButton ***Boutons = NULL;
 
 
...Allocation sans soucis...
 
cpt = 0;
for k=0...5
    for l= 0...10
       cpt++;
       Boutons[k][l] = new QPushButton("ajouter", groupbox1[k][l]);
       connect(Boutons[k][l], SIGNAL(clicked()), SignalMapper, SLOT(map()));
       SignalMapper->setMapping(Boutons[k][l], compteur);
       connect(SignalMapper, SIGNAL(mapped(int)), this,SLOT(mon_slot(int)));
 
       ...layout1[k][l]->addWidget(Boutons[k][l], k, l);
       groupbox1[k][l]->setlayout(layout1[k][l])...
 
     fin for l
fin for k
Alors le problème est que lors de l'appel à mon slot, je lui fait simplement afficher le int qui sert d'identifiant au sender. Et le problème est qu'il me renvoie la bonne valeur "compteur" mais au lieu de me la renvoyer une fois il me la renvoie 50 fois soit le nombre de boutons...Ce que je ne comprends pas c'est que j'ai utilisé ce même code pour d'autres boutons mais en pointeur de tableau de dimension 1 et non 2 et ce même code marchait et me renvoyait une seule fois la valeur "compteur"...voilà si quelqu'un comprend un peu et pouvait m'aiguiller sur l'origine du pb...