Sur cette page

QSurface Class

La classe QSurface est une abstraction des surfaces pouvant être affichées dans Qt. En savoir plus...

En-tête : #include <QSurface>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Hérité par :

QOffscreenSurface et QWindow

Types publics

enum SurfaceClass { Window, Offscreen }
enum SurfaceType { RasterSurface, OpenGLSurface, OpenVGSurface, VulkanSurface, MetalSurface, Direct3DSurface }

Fonctions publiques

virtual ~QSurface()
virtual QSurfaceFormat format() const = 0
virtual QSize size() const = 0
bool supportsOpenGL() const
QSurface::SurfaceClass surfaceClass() const
virtual QPlatformSurface *surfaceHandle() const = 0
virtual QSurface::SurfaceType surfaceType() const = 0

Fonctions protégées

QSurface(QSurface::SurfaceClass type)

Description détaillée

La taille de la surface est accessible via la fonction ` size()`. Les attributs spécifiques au rendu de la surface sont accessibles via la fonction ` format()`.

Documentation sur les types de membres

enum QSurface::SurfaceClass

L'énumération `SurfaceClass` décrit la sous-classe effective de la surface.

ConstanteValeurDescription
QSurface::Window0La surface est une instance de ` QWindow`.
QSurface::Offscreen1La surface est une instance de ` QOffscreenSurface`.

enum QSurface::SurfaceType

L'énumération SurfaceType décrit le type de surface dont il s'agit.

ConstanteValeurDescription
QSurface::RasterSurface0La surface est composée de pixels et peut être rendue à l'aide d'un rastériseur logiciel tel que le moteur de peinture raster de Qt.
QSurface::OpenGLSurface1La surface est compatible OpenGL et peut être utilisée conjointement avec QOpenGLContext.
QSurface::OpenVGSurface3La surface est compatible avec OpenVG et peut être utilisée conjointement avec des contextes OpenVG.
QSurface::VulkanSurface4La surface est compatible avec Vulkan et peut être utilisée avec l'API graphique Vulkan.
QSurface::MetalSurface5La surface est compatible avec Metal et peut être utilisée avec l'API graphique Metal d'Apple. Ce type de surface n'est pris en charge que sur macOS et iOS.
QSurface::Direct3DSurface6La surface est compatible avec Direct 3D 11 et 12 et peut être utilisée avec les API DXGI et Direct3D. Ce type de surface est uniquement pris en charge sous Windows.

Documentation des fonctions membres

[explicit protected] QSurface::QSurface(QSurface::SurfaceClass type)

Crée une surface à partir de l'type s fournies.

[virtual noexcept] QSurface::~QSurface()

Endommage la surface.

[pure virtual] QSurfaceFormat QSurface::format() const

Renvoie le format de la surface.

[pure virtual] QSize QSurface::size() const

Renvoie la taille de la surface en pixels.

bool QSurface::supportsOpenGL() const

Renvoie « true » si la surface est compatible avec OpenGL et peut être utilisée avec la fonction « QOpenGLContext » ; sinon, renvoie « false ».

QSurface::SurfaceClass QSurface::surfaceClass() const

Renvoie la classe de cette surface.

[pure virtual] QPlatformSurface *QSurface::surfaceHandle() const

Renvoie un descripteur vers l'implémentation de la surface propre à la plate-forme.

[pure virtual] QSurface::SurfaceType QSurface::surfaceType() const

Renvoie le type de la surface.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.