QBackingStore 类

QBackingStore 类提供绘制区域为 QWindow . 更多...

头: #include <QBackingStore>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

公共函数

QBackingStore (QWindow * window )
~QBackingStore ()
void beginPaint (const QRegion & region )
void endPaint ()
void flush (const QRegion & region , QWindow * window = nullptr, const QPoint & offset = QPoint())
QPlatformBackingStore * handle () const
bool hasStaticContents () const
QPaintDevice * paintDevice ()
void resize (const QSize & size )
bool scroll (const QRegion & area , int dx , int dy )
void setStaticContents (const QRegion & region )
QSize size () const
QRegion staticContents () const
QWindow * window () const

详细描述

QBackingStore 使能够使用 QPainter 进行描绘在 QWindow 按 RasterSurface 类型。其它方式渲染到 QWindow 是通过使用 OpenGL 采用 QOpenGLContext .

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

QBackingStore 可以用于应用程序想要使用 QPainter 没有 OpenGL 加速,且在没有额外开销下使用 QWidget or QGraphicsView UI 堆栈。如何使用 QBackingStore 的范例见 光栅窗口范例 .

成员函数文档编制

[explicit] QBackingStore:: QBackingStore ( QWindow * window )

构造空表面为给定顶层 window .

[noexcept] QBackingStore:: ~QBackingStore ()

销毁此表面。

void QBackingStore:: beginPaint (const QRegion & region )

开始在后备存储表面描绘按给定 region .

应该调用此函数先于使用 paintDevice () 进行描绘。

另请参阅 endPaint () 和 paintDevice ().

void QBackingStore:: endPaint ()

结束描绘。

应调用此函数后于描绘采用 paintDevice () 已结束。

另请参阅 beginPaint () 和 paintDevice ().

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

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

The window 必须是由此 backingstore 表示的顶层窗口,或是该窗口的非瞬时子级。传递 nullptr 回退到使用 backingstore 的顶层窗口。

window 是子级窗口, region 应在子级窗口坐标中,且 offset 应是子级窗口相对于 backingstore 顶层窗口的偏移。

应该调用此函数后于结束描绘采用 endPaint ().

QPlatformBackingStore *QBackingStore:: handle () const

返回指向 QPlatformBckingStore 实现的指针

bool QBackingStore:: hasStaticContents () const

返回指示此窗口是否拥有静态内容的 bool。

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 向下;两者 dx and dy 可能为负值。

返回 true 如果卷动区域成功;否则 false。

void QBackingStore:: setStaticContents (const QRegion & region )

Set region 作为此窗口的静态内容。

另请参阅 staticContents ().

QSize QBackingStore:: size () const

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

QRegion QBackingStore:: staticContents () const

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

另请参阅 setStaticContents ().

QWindow *QBackingStore:: window () const

返回关联此表面的顶层窗口指针。