[Qt] hover/unHover sur un QLabel

maxoux -  
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
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   Statut Membre Dernière intervention   49
 
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