Slider über Mausrad verändern ?

Alles rund um die Programmierung mit Qt
Antworten
Mandel
Beiträge: 12
Registriert: 30. November 2008 20:53

Slider über Mausrad verändern ?

Beitrag von Mandel »

Hallo zusammen ...

Folgendes Problem: Ich habe hier eine kleine Anwendung programmiert, in welcher eine Slidebar auf drei verschiedene Arten bewegt werden soll. Durch klicken und ziehen, durch die Pfeiltasten der Tastatur und durch das Mausrad.

Eigentlich alles kein Problem, da diese Funktionen ja in der Slidebar schon integriert sind. Nur habe ich das Problem, dass das Drehen am Mausrad den Wert nicht um 1, sondern um 3 ändert!

Mit den Pfeiltasten kann ich den Wert problemlos durch einmaliges Drücken um 1 erhöhen oder senken. Mit dem Mausrad führt eine Bewegung zu einer änderung von 3!

Das lustige ist, wenn ich folgendes WheelEvent einführe, ändert sich der Wert wie gewünscht um 1, solange ich den Mauszeiger nicht auf der Slidebar habe...

Code: Alles auswählen

void MainWindow::wheelEvent (QWheelEvent *event)
{
      hS_Slide->setValue(hS_Slide->value()+event->delta()/(120));
}
Wie kann ich es also schaffen, dass sich die Slidebar, egal wo sich der Mauszeiger befindet, bei jedem Mausradschritt nur um 1 bewegt?

Danke für euere Hilfe :)
Mandel
Beiträge: 12
Registriert: 30. November 2008 20:53

Beitrag von Mandel »

Hm... Ist die Frage zu leicht oder zu schwer? :D
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Du implementierst das wheelEvent in deinem MainWindow. Der Slider empfängt aber seine eigenen Events!
Schau dich in der Doku mal nach "eventFilter" um.
Dein MainWindow soll als Filter im Slider installiert werden.
Antworten