Moving an object using keyboard controls

In this topic we'll be looking at is how to move an object in OpenGL using keyboard controls. Qt provides an easy way to detect keyboard events using virtual functions, namely keyPressEvent() and keyReleaseEvent(). We will be using the previous example and adding to it.

How to do it…

  1. Open up mainwindow.h and declare two floating point numbers called moveX and moveZ:
    private:
      QOpenGLContext* context;
      QOpenGLFunctions* openGLFunctions;
    
      float rotation;
      GLuint texID[1];
    
      float moveX;
      float moveZ;
    
  2. After that, declare the keyPressEvent() function, like so:
    public:
      explicit MainWindow(QWidget *parent = 0);
      ~MainWindow();
    
      void keyPressEvent(QKeyEvent *event);
    
  3. Then, open up mainwindow.cpp and set the default values ...

Get Qt5 C++ GUI Programming Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.