warten zwischen keyPressEvents

Alles rund um die Programmierung mit Qt
Antworten
paulreuter
Beiträge: 7
Registriert: 10. Oktober 2007 09:12

warten zwischen keyPressEvents

Beitrag von paulreuter »

Hallo zusammen,

ich habe ein kleines Problem beim Abfangen von KeyPressEvents.
Ich möchte einen Motor mit Tasten rotieren lassen. Wenn ich die Tasten einmal und kurz drücke ist das ganze kein Problem. Bei schnellem oder längerem Drücken unterbricht sich die Funktion jeweils selbst.

Die Funktion zum Abfangen der keyPressEvents sieht so aus:

Code: Alles auswählen

keyPressEvent(QKeyEvent* e){
	switch(e->key()){
		case Qt::Key_A:
			moveMotor(10,LEFT);
			break;
		case Qt::Key_D:
			moveMotor(10,RIGHT);
			break;
                [...]
}}
die Motorfunktion:

Code: Alles auswählen

moveMotor(int deg, Direction d)
{
     //drehe Motor um deg Grad in Richtung d
    [...]
}
Geschehen müsste eigentlich folgendes:
einmal Taste drücken -> Motor dreht 10 Grad
während des Drehens nochmal drücken -> warte bis vorherige Drehung abgeschlossen ist und beginne dann neue Drehung

Ich hoffe Ihr könnt mir helfen, auch wenn ich mich vielleicht stellenweise etwas kryptisch ausgedrückt habe. Ansonsten fragt einfach nochmal nach...

Viele Grüße

Paul
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Wenn ich dich richtig verstanden habe, dann würde ich es so lösen, dass Du im keyReleaseEvent eine Integer Variable hochsetzt.
In Deiner moveMotor arbeitest du die dann ab bis sie wieder auf 0 ist.

Allerdings glaub ich ehrlich gesagt nicht, dass das den Effekt erziehlt, den Du haben willst, auch wenn es auf Deine Beschreibung passen könnte. :roll:
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Antworten