[Qt] hover/unHover sur un QLabel
maxoux
-
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
Ayant débuté le c++/Qt j'ai un petit soucis avec mon QLabel qui me sert de bouton (J'ai choisis le QLabel pour avoir directement accès au QPixMap) :
J'ai réussi après un peu de mal à gérer le hover, en réimplémentant la méthode mouseMoveEvent, mais quand il s'agit de détecter lorsque la souris n'y est plus, je ne reçoit aucuns événements particulier et le mouseMoveEvent ne m'aide pas plus...
J'ai également tenté de faire un
Mais là même le hover ne fonctionne plus (au passage, si j'enlève le else le hover refonctionne)
Quelqu'un aurais t'elle une piste pour m'aider ? Merci d'avance :)
Ayant débuté le c++/Qt j'ai un petit soucis avec mon QLabel qui me sert de bouton (J'ai choisis le QLabel pour avoir directement accès au QPixMap) :
J'ai réussi après un peu de mal à gérer le hover, en réimplémentant la méthode mouseMoveEvent, mais quand il s'agit de détecter lorsque la souris n'y est plus, je ne reçoit aucuns événements particulier et le mouseMoveEvent ne m'aide pas plus...
J'ai également tenté de faire un
bool Item::event(QEvent *event)
{
if (event->type() == QEvent::MouseMove)
emit(hover(true));
else
emit(hover(false));
return false;
}
Mais là même le hover ne fonctionne plus (au passage, si j'enlève le else le hover refonctionne)
Quelqu'un aurais t'elle une piste pour m'aider ? Merci d'avance :)
1 réponse
Bonjour,
J'ai survolé ton code, et déjà je remarque que ta fonction implémente un algorithme légèrement erroné, il serait préférable de l'écrire comme ceci
Ceci dit, cette fonction est elle un slot ou pas ?
à bientôt
J'ai survolé ton code, et déjà je remarque que ta fonction implémente un algorithme légèrement erroné, il serait préférable de l'écrire comme ceci
bool Item::event( QEvent *event ){
if( event->type() == QEvent::MouseMove ){
emit( hover( true ) );
return ( true );
}
else{
emit( hover( false ) );
return ( false );
}
}
Ceci dit, cette fonction est elle un slot ou pas ?
à bientôt