J'écris un petit mot pour moi sur ruby en utilisant qt. Comment accéder au mouvement global de la souris et aux événements d'entrée au clavier?Saisir le mouvement de la souris
0
A
Répondre
3
Si vous avez besoin de suivre le mouvement de la souris lorsque vous n'avez pas cliqué sur les boutons, vous devez activer le suivi de la souris sur le ou les widgets sur lesquels vous souhaitez suivre la souris. La fonction QWidget::setMouseTracking()
, disponible sur tous les QWidget
s, vous permettra de le faire.
Pour capturer les mouvements de la souris, vous devez capturer QMouseMoveEvent
s. Il y a deux façons de le faire:
- Si vous définissez votre propre widget, puis réimplémentez
QWidget::mouseMoveEvent()
. - Si vous utilisez un widget stock, vous pouvez créer une classe de filtre d'événement et installer un filtre d'événements sur le widget dont vous souhaitez suivre les mouvements. Voir
QObject::installEventFilter()
.
Pour la documentation officielle de Qt, cliquez sur les liens des fonctions qui vous intéressent.
2
Utilisez QWidget::grabMouse() et notez qu'il est très dangereux fonction, utilisez le avec précaution.
0
Pour la position de la souris, avez-vous essayé QCursor::pos()?
Pourquoi est-ce dangereux? –