QSurface Class
QSurface 类是 Qt 中可渲染表面的抽象表示。更多内容...
| 头文件: | #include <QSurface> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 由以下函数继承: |
公共类型
| enum | SurfaceClass { Window, Offscreen } |
| enum | SurfaceType { RasterSurface, OpenGLSurface, OpenVGSurface, VulkanSurface, MetalSurface, Direct3DSurface } |
公共函数
| 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 |
受保护函数
| QSurface(QSurface::SurfaceClass type) |
成员类型文档
enum QSurface::SurfaceClass
SurfaceClass 枚举描述了曲面的实际子类。
| 常量 | 值 | 描述 |
|---|---|---|
QSurface::Window | 0 | 该表面是QWindow 的实例。 |
QSurface::Offscreen | 1 | 该表面是QOffscreenSurface 的实例。 |
enum QSurface::SurfaceType
SurfaceType 枚举用于描述该表面的类型。
| 常量 | 值 | 描述 |
|---|---|---|
QSurface::RasterSurface | 0 | 该表面由像素组成,可使用 Qt 的光栅绘制引擎等软件光栅化器进行渲染。 |
QSurface::OpenGLSurface | 1 | 该表面是兼容 OpenGL 的表面,可与QOpenGLContext 配合使用。 |
QSurface::OpenVGSurface | 3 | 该表面是兼容 OpenVG 的表面,可与 OpenVG 上下文配合使用。 |
QSurface::VulkanSurface | 4 | 该表面是兼容 Vulkan 的表面,可与 Vulkan 图形 API 配合使用。 |
QSurface::MetalSurface | 5 | 该表面是兼容 Metal 的表面,可与 Apple 的 Metal 图形 API 配合使用。此表面类型仅在 macOS 和 iOS 上受支持。 |
QSurface::Direct3DSurface | 6 | 该表面是与 Direct 3D 11 和 12 兼容的表面,可与 DXGI 和 Direct3D API 配合使用。此表面类型仅在 Windows 上受支持。 |
成员函数文档
[explicit protected] QSurface::QSurface(QSurface::SurfaceClass type)
使用给定的type 创建一个曲面。
[virtual noexcept] QSurface::~QSurface()
破坏表面。
[pure virtual] QSurfaceFormat QSurface::format() const
返回曲面的格式。
[pure virtual] QSize QSurface::size() const
返回曲面的大小(以像素为单位)。
bool QSurface::supportsOpenGL() const
如果该表面与 OpenGL 兼容且可与 `QOpenGLContext` 配合使用,则返回 true;否则返回 false。
QSurface::SurfaceClass QSurface::surfaceClass() const
返回此曲面的曲面类。
[pure virtual] QPlatformSurface *QSurface::surfaceHandle() const
返回该画布在特定平台上的实现的句柄。
[pure virtual] QSurface::SurfaceType QSurface::surfaceType() const
返回曲面的类型。
© 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.