- Qt 6.12
- Qt OpenGL
- C++ Classes
- QOpenGLVersionProfile
- Qt 6.12.0 Reference Documentation

# QOpenGLVersionProfile Class

The QOpenGLVersionProfile class represents the version and if applicable the profile of an OpenGL context. More...

Header: | `#include <QOpenGLVersionProfile>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS OpenGL)` `target_link_libraries(mytarget PRIVATE Qt6::OpenGL)`
qmake: | `QT += opengl`

- List of all members, including inherited members

## Public Functions

| QOpenGLVersionProfile()
| QOpenGLVersionProfile(const QSurfaceFormat &format)
| QOpenGLVersionProfile(const QOpenGLVersionProfile &other)
| ~QOpenGLVersionProfile()
bool | hasProfiles() const
bool | isLegacyVersion() const
bool | isValid() const
QSurfaceFormat::OpenGLContextProfile | profile() const
void | setProfile(QSurfaceFormat::OpenGLContextProfile profile)
void | setVersion(int majorVersion, int minorVersion)
std::pair<int, int> | version() const
QOpenGLVersionProfile & | operator=(const QOpenGLVersionProfile &rhs)

## Detailed Description

An object of this class can be passed to QOpenGLContext::versionFunctions() to request a functions object for a specific version and profile of OpenGL.

It also contains some helper functions to check if a version supports profiles or is a legacy version.

## Member Function Documentation

### QOpenGLVersionProfile::QOpenGLVersionProfile()

Creates a default invalid QOpenGLVersionProfile object.

### `[explicit]` QOpenGLVersionProfile::QOpenGLVersionProfile(const QSurfaceFormat &format)

Creates a QOpenGLVersionProfile object initialised with the version and profile from format.

### QOpenGLVersionProfile::QOpenGLVersionProfile(const QOpenGLVersionProfile &other)

Constructs a copy of other.

### `[noexcept]` QOpenGLVersionProfile::~QOpenGLVersionProfile()

Destroys the QOpenGLVersionProfile object.

### bool QOpenGLVersionProfile::hasProfiles() const

Returns `true` if profiles are supported by the OpenGL version returned by version(). Only OpenGL versions >= 3.2 support profiles.

See also profile() and version().

### bool QOpenGLVersionProfile::isLegacyVersion() const

Returns `true` is the OpenGL version returned by version() contains deprecated functions and does not support profiles i.e. if the OpenGL version is <= 3.1.

### bool QOpenGLVersionProfile::isValid() const

Returns `true` if the version number is valid. Note that for a default constructed QOpenGLVersionProfile object this function will return `false`.

See also setVersion() and version().

### QSurfaceFormat::OpenGLContextProfile QOpenGLVersionProfile::profile() const

Returns the OpenGL profile. Only makes sense if profiles are supported by this version.

See also setProfile().

### void QOpenGLVersionProfile::setProfile(QSurfaceFormat::OpenGLContextProfile profile)

Sets the OpenGL profile profile. Only makes sense if profiles are supported by this version.

See also profile().

### void QOpenGLVersionProfile::setVersion(int majorVersion, int minorVersion)

Sets the major and minor version numbers to majorVersion and minorVersion respectively.

See also version().

### std::pair<int, int> QOpenGLVersionProfile::version() const

Returns a std::pair<int,int> where the components represent the major and minor OpenGL version numbers respectively.

See also setVersion().

### QOpenGLVersionProfile &QOpenGLVersionProfile::operator=(const QOpenGLVersionProfile &rhs)

Assigns the version and profile of rhs to this QOpenGLVersionProfile object.