[Qt] hover/unHover sur un QLabel

Fermé
maxoux - 5 sept. 2014 à 15:05
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 7 sept. 2014 à 13:56
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
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

sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
7 sept. 2014 à 13:56
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
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
0