2011-06-24 4 views
0

J'ai passé un argument à un Qt Slot, l'argument est une classe que j'ai écrite (Image_Viewer).comment hériter un signal Qpushbutton

Pour établir une connexion entre un signal et un emplacement, ils doivent avoir le même type d'argument (corrigez-moi si je me trompe). Je n'ai besoin que du signal clicked() de la classe Qpushbutton mais comme il n'a pas le même argument du Slot que j'ai écrit, la connexion ne peut pas être faite.

Si la création d'un autre signal ayant aussi (Image_Viewer) comme argument est la SEULE SOLUTION, alors comment et où puis-je l'écrire? et si ce n'est pas le cas, quelle est la solution?

PS: Désolé pour mon anglais

Répondre

1

Vous pouvez essayer d'utiliser un emplacement supplémentaire pour appeler votre emplacement.

connect(btn,SIGNAL(clicked()),this,SLOT(slotToCallYourRealSlot())); 

void YourClass::slotToCallYourRealSlot() 
{ 
    yourRealSlot(Image_Viewer()); 
} 

void YourClass::yourRealSlot(Image_Viewer viewer) 
{ 
    //your code 
} 
+0

merci l'homme, vraiment utile – hamza