QT und OpenGL/Glut - KeyboardFunc
-
Ich benötige Unterstützung bei der Tastatureinbindung bei QT mit GLUT.
Aufbauend auf die OpenGL Tutorial auf der Trolltech Seite habe ich diesen Code:
// speichert den Zustand der Taste fuer die Vorwaertsbewegung bool move_forward = false; // wird aufgerufen, wenn eine Taste GEDRUECKT wird void GLWidget::myKeyboardFunc(unsigned char key, int x, int y) { switch(key) { case GLUT_KEY_UP: move_forward = true; break; // and other keys }; } // wird aufgerufen, wenn eine Taste LOSGELASSEN wird void GLWidget::myKeyboardUpFunc(unsigned char key, int x, int y) { switch(key) { case GLUT_KEY_UP: move_forward = false; break; // and other keys }; } // hier findet die Simulation statt! void GLWidget::myIdleFunc() { // ... if (move_forward) { // z.B.: glTranslatef(....); } // und andere Variablen abfragen... }in meine glwidget.cpp gepackt und
glutInit.... glutInitDisplayMode... .. glutKeyboardFunc(myKeyboardFunc); glutKeyboardUpFunc(myKeyboardUpFunc); glutIdleFunc(myIdleFunc);in die main.cpp
doch es mag nicht wirklich funtionieren...
Was mache ich falsch?
-
wenn du qt benutzt brauchst du kein glut mehr.
im qglwidget wertest du einfach die key-events aus.
falls du eine taste gedrueckt halten willst, schenke isAutoRepeat aufmerksamkeit.