ich habe ein Programm geschrieben welches die Fähigkeit hat, Mausbewegungen aufzeichenen und diese schlussendlich wieder abspielen kann(Macrorecorder).
Das Aufzeichnen aller Mousevents funktioniert einwandfrei. Leider habe ich noch ein kleines Problem beim Abspielen:
Beim Abspielen sollte der Anwender die Maus noch bewegen können jedoch sämtliche Clicks von der Maus sollten ignoriert werden.
Hat jemand eine Ahnung wie ich das am einfachsten Lösen kann?
Was ich schon versucht habe:
nach dem initialisieren von allen Widgets:
Code: Alles auswählen
QWidget* po_mainWidget = this;
foreach(QWidget *widget, QApplication::allWidgets())
{
installEventFilter(po_mainWidget);
}
Code: Alles auswählen
bool PchMainWindow::eventFilter (QObject *apo_target, QEvent *apo_event)
{
bool b_isMouseEvent = false;
if (apo_event->type() == QEvent::MouseButtonPress)
{
b_isMouseEvent = true;
}
else if (apo_event->type() == QEvent::MouseButtonRelease)
{
b_isMouseEvent = true;
}
else if (apo_event->type() == QEvent::MouseMove)
{
b_isMouseEvent = true;
}
if(b_isMouseEvent)
{
apo_event->ignore();
return false;
}
return QWidget:: eventFilter(apo_target,apo_event);
}
Vielen Dank und Gruss