2009-05-21 7 views

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

Pourquoi est-ce dangereux? –