Quel est le meilleur moyen (le plus simple) d'obtenir le pos
d'un mousePressedEvent
dans un QLabel? (Ou fondamentalement juste obtenir l'emplacement d'un clic de souris par rapport à un widget QLabel)Obtenir la position d'un clic de souris dans un QLabel
EDIT
J'ai essayé ce que Frank a suggéré de cette façon:
bool MainWindow::eventFilter(QObject *someOb, QEvent *ev)
{
if(someOb == ui->label && ev->type() == QEvent::MouseButtonPress)
{
QMouseEvent *me = static_cast<QMouseEvent *>(ev);
QPoint coordinates = me->pos();
//do stuff
return true;
}
else return false;
}
Cependant, je reçois la compilation erreur invalid static_cast from type 'QEvent*' to type 'const QMouseEvent*'
sur la ligne où j'essaie de déclarer me
. Des idées de ce que je fais mal ici?
Avez-vous vraiment besoin de 2 'const' dans la déclaration de moi? Si oui, pourquoi? Aussi, j'ai du mal à compiler votre code car le compilateur me donne 'static_cast invalide du type 'QEvent *' pour taper 'const QMouseEvent *'' sur cette ligne – wrongusername
Avez-vous inclus? Les consts ne sont pas strictement nécessaires, mais je considère que c'est une bonne pratique de faire des provisoires const. –
ah oui, je ne l'ai pas inclus. Merci! Ce que je me demandais cependant, c'était pourquoi ce n'était pas juste "const QMouseEvent * moi" ... que fait le second const? – wrongusername