2015-12-29 4 views
-1

Je suis en train:QObject :: connect: Aucun signal de mouseReleaseEvent

connect(myButton, SIGNAL(mouseReleaseEvent(QMouseEvent*)), 
    this, SLOT(ShowContextMenu(QMouseEvent*))); 

mais obtenir un message d'erreur:

QObject::connect: No such signal QToolButton::mouseReleaseEvent(QMouseEvent*) 

qt 5.4 - ce que je fais mal là-bas?

+2

*** qu'est-ce que je fais mal là? *** mouseReleaseEvent n'est pas un signal, donc vous ne pouvez pas le connecter à un slot. – drescherjm

+0

@drescherjm pour attraper le clic droit J'ai besoin de quelque chose comme mon propre bouton? – Cynede

+0

Si votre bouton hérite de QToolButton, vous devriez être capable de gérer mouseReleaseEvent et d'émettre votre propre signal. Je ne suis pas sûr s'il y a une méthode plus simple. – drescherjm

Répondre

1

En supposant que myButton est de QPushButton de classe, vous pouvez utiliser le signal publié():

connect(myButton, SIGNAL(released()), 
    this, SLOT(ShowContextMenu())); 

En supposant que la fente 'ShowContextMenu' peut être appelé sans argument. Voir aussi la documentation QT.

+0

Je dois attraper le clic droit – Cynede

+3

Désolé, je ne savais pas que ... Donc vous voulez dire comme [ici] (http://stackoverflow.com/questions/15658464/qt-rightclick-qpushbutton)? – DrDonut