Qt OpenGL

Warning: This module should not be used anymore for new code. Please use the corresponding OpenGL classes in Qt GUI.

OpenGL is a standard API for rendering 3D graphics. OpenGL only deals with 3D rendering and provides little or no support for GUI programming issues. The user interface for an OpenGL application must be created with another toolkit, such as Cocoa on the macOS platform, Microsoft Foundation Classes (MFC) under Windows, or Qt on both platforms.

The Qt OpenGL module makes it easy to use OpenGL in Qt applications. It provides an OpenGL widget class that can be used just like any other Qt widget, except that it opens an OpenGL display buffer where you can use the OpenGL API to render the contents.

To include the definitions of the module's classes, use the following directive:


  #include <QtOpenGL>

To link against the module, add this line to your qmake .pro file:


  QT += opengl

The Qt OpenGL module is implemented as a platform-independent Qt/C++ wrapper around the platform-dependent GLX (version 1.3 or later), WGL, or AGL C APIs. Although the basic functionality provided is very similar to Mark Kilgard's GLUT library, applications using the Qt OpenGL module can take advantage of the whole Qt API for non-OpenGL-specific GUI functionality.

The Qt OpenGL C++ Classes page gives an overview over the available classes in this module.

Licenses and Trademarks

The Qt OpenGL module is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses. Since Qt 5.4, these free software licenses are GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.

OpenGL® is a trademark of Silicon Graphics, Inc. in the United States and other countries.