QSurface Class
Die Klasse QSurface ist eine Abstraktion von renderbaren Oberflächen in Qt. Mehr...
Kopfzeile: | #include <QSurface> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Vererbt von: |
Öffentliche Typen
enum | SurfaceClass { Window, Offscreen } |
enum | SurfaceType { RasterSurface, OpenGLSurface, RasterGLSurface, OpenVGSurface, VulkanSurface, …, Direct3DSurface } |
Öffentliche Funktionen
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 |
Geschützte Funktionen
QSurface(QSurface::SurfaceClass type) |
Detaillierte Beschreibung
Die Größe der Oberfläche ist über die Funktion size() zugänglich. Die rendering-spezifischen Attribute der Oberfläche sind über die Funktion format() zugänglich.
Dokumentation der Mitgliedstypen
enum QSurface::SurfaceClass
Die Aufzählung SurfaceClass beschreibt die aktuelle Unterklasse der Oberfläche.
Konstante | Wert | Beschreibung |
---|---|---|
QSurface::Window | 0 | Die Oberfläche ist eine Instanz von QWindow. |
QSurface::Offscreen | 1 | Die Oberfläche ist eine Instanz von QOffscreenSurface. |
enum QSurface::SurfaceType
Die Aufzählung SurfaceType beschreibt, um welche Art von Oberfläche es sich handelt.
Konstante | Wert | Beschreibung |
---|---|---|
QSurface::RasterSurface | 0 | Die Oberfläche besteht aus Pixeln und kann mit einem Software-Rasterizer wie der Raster Paint Engine von Qt gerendert werden. |
QSurface::OpenGLSurface | 1 | Die Oberfläche ist eine OpenGL-kompatible Oberfläche und kann in Verbindung mit QOpenGLContext verwendet werden. |
QSurface::RasterGLSurface | 2 | Die Oberfläche kann mit einem Software-Rasterizer gerendert werden und unterstützt ebenfalls OpenGL. Dieser Oberflächentyp ist für die interne Verwendung in Qt vorgesehen und erfordert die Verwendung einer privaten API. |
QSurface::OpenVGSurface | 3 | Die Oberfläche ist eine OpenVG-kompatible Oberfläche und kann in Verbindung mit OpenVG-Kontexten verwendet werden. |
QSurface::VulkanSurface | 4 | Die Oberfläche ist eine Vulkan-kompatible Oberfläche und kann in Verbindung mit der Vulkan-Grafik-API verwendet werden. |
QSurface::MetalSurface | 5 | Die Oberfläche ist eine Metal-kompatible Oberfläche und kann in Verbindung mit der Metal-Grafik-API von Apple verwendet werden. Dieser Oberflächentyp wird nur unter macOS und iOS unterstützt. |
QSurface::Direct3DSurface | 6 | Die Oberfläche ist eine Direct 3D 11- und 12-kompatible Oberfläche und kann in Verbindung mit den DXGI- und Direct3D-APIs verwendet werden. Dieser Oberflächentyp wird nur unter Windows unterstützt. |
Dokumentation der Mitgliedsfunktionen
[explicit protected]
QSurface::QSurface(QSurface::SurfaceClass type)
Erzeugt eine Oberfläche mit der angegebenen type.
[virtual noexcept]
QSurface::~QSurface()
Zerstört die Oberfläche.
[pure virtual]
QSurfaceFormat QSurface::format() const
Gibt das Format der Oberfläche zurück.
[pure virtual]
QSize QSurface::size() const
Gibt die Größe der Oberfläche in Pixeln zurück.
bool QSurface::supportsOpenGL() const
Gibt true zurück, wenn die Oberfläche OpenGL-kompatibel ist und in Verbindung mit QOpenGLContext verwendet werden kann; andernfalls wird false zurückgegeben.
QSurface::SurfaceClass QSurface::surfaceClass() const
Gibt die Oberflächenklasse dieser Fläche zurück.
[pure virtual]
QPlatformSurface *QSurface::surfaceHandle() const
Gibt ein Handle auf die plattformspezifische Implementierung der Oberfläche zurück.
[pure virtual]
QSurface::SurfaceType QSurface::surfaceType() const
Gibt den Typ der Oberfläche zurück.
© 2025 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.