Maus-events in Qt
Ich habe 3 Ereignisse wie folgt definiert:
void mouseMoveEvent(QMouseEvent *eventMove);
void mousePressEvent(QMouseEvent *eventPress);
void mouseReleaseEvent(QMouseEvent *releaseEvent);
Nun, sagen wir, ich will etwas tun, wenn die Maus angeklickt und verschoben werden, bis die Maustaste losgelassen wird.
Gebe z.B. eine Ausgabe !
bis die oben beschriebenen Bedingungen wahr sind.
EDIT: ich habe versucht eine Globale variable, sagen wir mal bool a
und machen es true
im mousePressEvent(...)
, false
im mouseReleaseEvent(...)
, aber wenn in mouseMoveEvent(...)
die a
ist immer true
, auch wenn die Taste losgelassen wird.
- Ich verstehe nicht, Ihre Ziele vollständig, würde aber nicht
QMouseEvent::buttons
immouseMoveEvent
ist genug? - Ich habe ...::buttons in QMouseEvent::Tasten, und ...::button in der anderen, aber es hilft nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist genau der gleiche code wie in:
Tracking-Maus-Koordinaten in Qt
Aber ohne die
setMouseTracking(true)
. MitsetMouseTracking(false)
(der Standard) dievoid mouseMoveEvent(QMouseEvent *event)
Methode wird nur aufgerufen, wenn eine Maustaste gedrückt wird.Kein
mousePressEvent(QMouseEvent *eventPress)
odermouseReleaseEvent(QMouseEvent *releaseEvent)
benötigt für Ihre Anforderungen.