Objet en mouvement avec la souris
J'utilise Qt et je veux déplacer un objet avec la souris. Par exemple, l'utilisateur clique sur l'objet et faites glisser cet objet à un autre endroit de la fenêtre. Comment je peux faire?
J'ai essayé mouseMoveEvent:
void QDropLabel::mouseMoveEvent(QMouseEvent *ev)
{
this->move(ev->pos());
}
mais malheureusement objet se déplace de manière très étrange. Il saute d'un endroit à.
QDropLabel hérite QLabel. Il a aussi donné un pixmap.
J'ai essayé de le faire avec des objets différents, mais le résultat est le même.
Déplacement de la souris, l'événement n'est pas pour "souris en faisant glisser quelque chose" mais litéralement de la souris (curseur) se sont déplacés. Vous avez à les attraper "glisser" en quelque sorte. Également ev->pos peut être relatif à un widget
Je ne veux pas l'utiliser pour faire glisser et déposer. Je veux juste de déplacer l'objet à l'aide de la souris.
Ok, mais vous voulez vous opposer à suivre curseur par lui-même, ou de faire des mobiliers
Je ne veux pas l'utiliser pour faire glisser et déposer. Je veux juste de déplacer l'objet à l'aide de la souris.
Ok, mais vous voulez vous opposer à suivre curseur par lui-même, ou de faire des mobiliers
OriginalL'auteur LosYear | 2012-06-23
Vous devez vous connecter pour publier un commentaire.
Votre mobile widget doit avoir un
QPoint offset
membre. Il va stocker la position du curseur, cliquez sur par rapport à ce que le widget coin en haut à gauche:Sur la souris déplacer l'événement vous suffit de déplacer votre widget dans son système de coordonnées parent. Notez que si vous n'avez pas soustraire
offset
à partir de la position du curseur, votre widget va "sauter" si son coin supérieur gauche sera juste sous le curseur.OriginalL'auteur hank