QSurface 类
QSurface 类是 Qt 中可 rendering 表面的抽象。 更多信息...
头文件 | #include <QSurface> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
继承自 |
公共类型
枚举 | SurfaceClass { Window, Offscreen } |
枚举 | SurfaceType { RasterSurface, OpenGLSurface, RasterGLSurface, OpenVGSurface, VulkanSurface, …, 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) |
成员类型文档
枚举 QSurface::SurfaceClass
SurfaceClass 枚举描述了表面的实际子类。
常量 | 值 | 描述 |
---|---|---|
QSurface::Window | 0 | 表面是 QWindow 的实例。 |
QSurface::Offscreen | 1 | 表面是 QOffscreenSurface 的实例。 |
枚举 QSurface::SurfaceType
SurfaceType 枚举描述了这是一种什么类型的表面。
常量 | 值 | 描述 |
---|---|---|
QSurface::RasterSurface | 0 | 表面由像素组成,可以使用像 Qt 的 raster paint 引擎这样的软件光栅化器进行渲染。 |
QSurface::OpenGLSurface | 1 | 表面是 OpenGL 兼容的,可以与 QOpenGLContext 一起使用。 |
QSurface::RasterGLSurface | 2 | 表面可以使用软件光栅化器进行渲染,也支持 OpenGL。此表面类型旨在供 Qt 内部使用,并需要使用私有 API。 |
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上受支持。 |
成员函数文档
[明确受保护的]
QSurface::QSurface(QSurface::SurfaceClass 类型)
创建一个具有给定类型的表面。
[虚拟无异常]
QSurface::~QSurface()
销毁表面。
[纯虚函数]
QSurfaceFormat QSurface::format() const
返回表面的格式。
[纯虚函数]
QSize QSurface::size() const
返回表面像素大小。
bool QSurface::supportsOpenGL() const
如果表面与QOpenGLContext兼容并可一起使用,则返回true;否则返回false。
QSurface::SurfaceClass QSurface::surfaceClass() const
返回此表面的表面类。
[纯虚函数]
QPlatformSurface *QSurface::surfaceHandle() const
返回对平台特定表面实现的句柄。
[纯虚函数]
QSurface::SurfaceType QSurface::surfaceType() const
返回表面类型。
© 2024 The Qt Company Ltd. 包含在此处的文档贡献的版权属于其各自的所有者。此处提供的文档根据由自由软件基金会发布的GNU自由文档许可版本1.3的条款进行许可。Qt以及相应的标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为各自所有者的财产。