mouseevent immer aktivieren?

Alles rund um die Programmierung mit Qt
Antworten
forgoden
Beiträge: 120
Registriert: 10. Februar 2008 17:52

mouseevent immer aktivieren?

Beitrag von forgoden »

Wie kann ich mouseevent immer aktivieren? Mir geht es darum, die mouseposition anzuzeigen. Soll auch aktiv sein wenn die Maus ausserhalb des Programmes ist. Wie bewerkstellige ich das? setMouseTracking bringt nicht, weil nur innerhalb des widgets funktioniert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Es gibt schon die Möglichkeit, die Maus einzufangen, aber dann kann sie nur noch von deiner Anwendung benutzt werden und das ist sicher nicht das was du willst.
forgoden
Beiträge: 120
Registriert: 10. Februar 2008 17:52

Beitrag von forgoden »

wie nur von meiner anwendung benutzt werden? verstehe ich nicht

ich hab das mal in multithread geschrieben.

Code: Alles auswählen

void Mouse_Thread::run() {
  while (*p_stopper) {
		QMouseEvent m_event(QEvent::MouseMove, QPoint(0,0), Qt::NoButton, 0, 0);
		qDebug() << "X: " << m_event.globalX() << " Y: " << m_event.globalY();
  }
}
funktioniert zwar aber gibt es nicht bessere lösungen?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Meine Gedanke ging in diese Richtung:

Code: Alles auswählen

void QWidget::grabMouse ()
Wie schaut eigentlich die Prozessorauslastung mit deiner Lösung aus?
forgoden
Beiträge: 120
Registriert: 10. Februar 2008 17:52

Beitrag von forgoden »

upsala hat geschrieben:Meine Gedanke ging in diese Richtung:

Code: Alles auswählen

void QWidget::grabMouse ()
Wie schaut eigentlich die Prozessorauslastung mit deiner Lösung aus?
werd ich mal schauen. bezüglich multithreading zeigt CPU-Auslastung bei mir auf 00. Ich hab halt so eine sleepfunktion eingebaut (20 ms) und man merkt diese verzögerung auch nicht
Antworten