Bonjour,
Ça fait déjà un moment que je cherche si on peut envoyer un paramètre constant au slot dans la méthode connect.
En fait pour l'instant j'ai:
et je voudrais pouvoir faire quelque chose comme ça:
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 #define BOUTON_1 1 #define BOUTON_2 2 #define BOUTON_3 3 Test::Test() { bouton_1 = new QPushButton("Bouton 1", this); connect(bouton_1, SIGNAL(clicked()), this, SLOT(affichage_bouton_1())); .... bouton_2 = new QPushButton("Bouton 2", this); connect(bouton_2, SIGNAL(clicked()), this, SLOT(affichage_bouton_2())); .... bouton_3 = new QPushButton("Bouton 3", this); connect(bouton_3, SIGNAL(clicked()), this, SLOT(affichage_bouton_3())); .... } void Test::affichage_bouton_1() { affichage(BOUTON_1); } void Test::affichage_bouton_2() { affichage(BOUTON_2); } void Test::affichage_bouton_3() { affichage(BOUTON_3); } void Test::affichage(int bouton) { .... }
mais évidement ça ne marche pas parce que les paramètres du slot doivent être les meme que ceux du signal, mais je pense que vous voyez ce que je veux faire...
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
22
23
24 #define BOUTON_1 1 #define BOUTON_2 2 #define BOUTON_3 3 Test::Test() { bouton_1 = new QPushButton("Bouton 1", this); connect(bouton_1, SIGNAL(clicked()), this, SLOT(affichage(BOUTON_1))); .... bouton_2 = new QPushButton("Bouton 2", this); connect(bouton_2, SIGNAL(clicked()), this, SLOT(affichage(BOUTON_2))); .... bouton_3 = new QPushButton("Bouton 3", this); connect(bouton_3, SIGNAL(clicked()), this, SLOT(affichage(BOUTON_3))); .... } void Test::affichage(int bouton) { .... }
D'après ce que j'ai vu sur le net à priori c'est pas possible, mais je poste quand même au cas où, ou aussi pour vous demander si vous avez une solution meilleure que la mienne pour faire quelque chose d'équivalent...
Merci
Partager