Bonjour à tous
Je viens ici demander vos avis sur la bonne façon de transmettre une information par un signal.
Jusqu'à présent, je me contentais de bazarder bêtement l'info après le signal. Exemple
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QByteArray data; ...(remplissage de data)... self.emit(SIGNAL("action"), data)
Et de l'autre coté, la data était bien récupérée
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 def slotAction(self, data): print("data=", data) # slotAction() connect( objet, SIGNAL("action"), self.slotAction, )
Toutefois, j'ai vu qu'on pouvait aussi "forcer" un typage fort sur le signal à la mode "C++". Exemple
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QByteArray data; ...(remplissage de data)... self.emit(SIGNAL("action(QByteArray*)"), data)
Et de l'autre coté
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 def slotAction(self, data): print("data=", data) # slotAction() connect( objet, SIGNAL("action(QByteArray*)"), self.slotAction, )
D'où ma question: puisque ça fonctionne sans, est-ce nécessaire de coder de cette façon ??? Ou inversement, cela pose-t-il un problème si on n'utilise pas ce typage ???
Surtout que si on utilise un typage précis, alors plus question de mettre autre chose qu'un QByteArray dans le signal...
Voilà - Merci à tous de votre attention
PS: je m'absente demain (24/11) jusqu'au 14/12 et ne suis pas certain d'avoir du wifi là où je vais. Donc si je ne reviens pas de suite dans ce topic, je vous prie de ne pas vous en offusquer.
Partager