67Fermer69
deleted2Le 11/05/2015 à 23:41
Ok, merci bien. Je commencerais à être presque à l'aise avec tout ça, ça devient un vrau plaisir. J'en ai surement pas une utilisation très avancée cependant, je débute, mais plus facilement que j'aurais pensé. smile

Maintenant, j'entrevois la puissance des signaux et des slots. Ca évite notamment bien du travail, car si je veux qu'un objet distant me transmette une donnée, j'ai juste à lui faire émettre un signal vers un de mes slots, pas besoin de dériver l'objet distant pour lui apprendre à causer à un objet de mon type.
C'est juste génial love

Par contre, une question de parentalité : pourquoi les parents des QWidgets sont-ils des QWidgets, et non des QObjects ? C'est pas grave, mais c'est juste pour comprendre, j'ai lu la doc sur la hiérarchie des objets dans un programme, donc je comprends pas trop pourquoi dans une application, on passe de l'un à l'autre.

Sinon voici une petite classe, qui étend QPushButton pour lui associer une action. Je poste le code en PNG, parce que la coloration syntaxique de KDevelop déchire sa race de sa grand-mère embarrassed
TPushButton.hpp
PIZQ
TPushButton.cpp
lKyk

Question :
- est-ce qu'il vaut mieux utiliser les macros SIGNAL/SLOT, ou la forme &classe::méthode des connections ? Ou est-ce qu'on s'en fout ? En fait, je ne sais pas pourquoi la méthode est surchargée, il y a des cas où on ne peut pas faire sans l'un ou l'autre ?
- la méthode se surcharge avec un "functor", c'est une simple fonction comme en C, ça ?
- j'appelle le slot "trigger" quand on clique sur le bouton, est-ce que ça pourrait etre un problème d'appeler directement le signal "triggered" de l'action ? ou est-ce que c'est strictement identique ?
- est-ce qu'un destructeur d'objet qui a établi des connexions doit les détruire manuellement dans le destructeur, ou est-ce automatique ?

Merci d'avance hehe