QBackingStore 类

QBackingStore 类提供对 QWindow 的绘制区域。 更多...

头文件 #include <QBackingStore>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui

公共函数

QBackingStore(QWindow *窗口)
~QBackingStore()
voidbeginPaint(const QRegion &区域)
voidendPaint()
voidflush(const QRegion &区域, QWindow *窗口 = nullptr, const QPoint &偏移 = QPoint())
QPlatformBackingStore *handle() const
boolhasStaticContents() const
QPaintDevice *paintDevice()
voidresize(const QSize &大小)
boolscroll(const QRegion &区域, int dx, int dy)
voidsetStaticContents(const QRegion &区域)
QSizesize() const
QRegionstaticContents() const
QWindow *window() const

详细描述

QBackingStore 允许使用 QPainter 在类型为 RasterSurface 的 QWindow 上绘制。将内容绘制到 QWindow 的另一种方式是通过使用 QOpenGLContext 中的 OpenGL。

QBackingStore 包含窗口内容的缓存表示,因此可以通过使用 QPainter 仅更新窗口内容的子区域来支持部分更新。

QBackingStore 可用于希望使用 QPainter 但不使用 OpenGL 加速和不使用 QWidget 或 QGraphicsView UI 栈额外开销的应用。有关如何使用 QBackingStore 的示例,请参阅 Raster Window 示例

成员函数文档

[显式] QBackingStore::QBackingStore(QWindow *窗口)

为给定的顶层 窗口 构建一个空的表面。

[noexcept] QBackingStore::~QBackingStore()

销毁此表面。

void QBackingStore::beginPaint(const QRegion &区域)

在给定的 区域 上开始对背光存储表面进行绘制。

在使用 paintDevice() 绘制之前,应调用此函数。

另请参阅endPaint() 以及 paintDevice()。

void QBackingStore::endPaint()

结束绘制。

应该在用 paintDevice() 绘制完成后调用此函数。

另请参阅beginPaint() 及 paintDevice()。

void QBackingStore::flush(const QRegion &region, QWindow *window = nullptr, const QPoint &offset = QPoint())

从指定的 window 将给定的 region 刷新到屏幕上。

window 必须是此 backingstore 所代表的顶层窗口,或者是该窗口的非瞬态子窗口。传递 nullptr 将回退到使用 backingstore 的顶层窗口。

如果 window 是子窗口,则 region 应在子窗口坐标中,而 offset 应是子窗口相对于 backingstore 的顶层窗口的偏移。

应当在用 endPaint() 结束绘制后调用此函数。

QPlatformBackingStore *QBackingStore::handle() const

返回指向 QPlatformBackingStore 实现的指针

bool QBackingStore::hasStaticContents() const

返回一个布尔值,指示此窗口是否有静态内容。

QPaintDevice *QBackingStore::paintDevice()

返回该表面的绘制设备。

注意: 该设备仅在 beginPaint() 和 endPaint() 调用之间有效。您不应该缓存返回的值。

void QBackingStore::resize(const QSize &size)

将窗口表面的尺寸设置为 size

另请参阅size()。

bool QBackingStore::scroll(const QRegion &area, int dx, int dy)

将给定的 area 向右滚动 dx 像素,向下滚动 dy 像素;dxdy 均可能为负值。

如果成功滚动区域,则返回 true;否则为 false

void QBackingStore::setStaticContents(const QRegion &region)

region 设置为此窗口的静态内容。

另请参阅staticContents()。

QSize QBackingStore::size() const

返回窗口表面的当前大小。

QRegion QBackingStore::staticContents() const

返回一个 QRegion,表示有静态内容的窗口区域。

另请参阅 setStaticContents()。

QWindow *QBackingStore::window() const

返回与该表面相关联的顶层窗口的指针。

© 2024 The Qt Company Ltd。本文件中的文档贡献者为各自的版权所有者。本文件中的文档是根据由自由软件基金会发布的GNU自由文档许可协议版1.3许可的。Qt及其相关标志是芬兰的The Qt Company Ltd.和/或其他国家的商标。所有其他商标均为其各自所有者所有。