PySide6.QtGui.QBackingStore

class QBackingStore

QBackingStore 类为 QWindow 提供了一个绘图区域。更多

概要

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QBackingStore 允许使用 QPainter 在类型为 RasterSurface 的 QWindow 上进行绘制。另一种渲染到 QWindow 的方式是通过使用 OpenGL 和 QOpenGLContext

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

QBackingStore 可能被那些希望使用 QPainter 而不需要 OpenGL 加速,并且不想使用 QWidget 或 QGraphicsView UI 堆栈的额外开销的应用程序使用。关于如何使用 QBackingStore 的示例,请参见 Raster Window Example

__init__(window)
Parameters:

窗口QWindow

为给定的顶级window构造一个空表面。

beginPaint(region)
Parameters:

区域QRegion

开始在给定的region区域的后备存储表面上进行绘制。

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

另请参阅

endPaint() paintDevice()

endPaint()

结束绘画。

你应该在使用paintDevice()绘制结束后调用此函数。

flush(region[, window=None[, offset=QPoint()]])
Parameters:

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

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

如果window是一个子窗口,region应该在子窗口的坐标中,而offset应该是子窗口相对于后台存储的顶级窗口的偏移量。

你应该在结束绘画后调用这个函数,使用endPaint()

hasStaticContents()
Return type:

布尔

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

paintDevice()
Return type:

QPaintDevice

返回此表面的绘制设备。

警告

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

resize(size)
Parameters:

大小QSize

将窗口表面的大小设置为 size

另请参阅

size()

scroll(area, dx, dy)
Parameters:
  • 区域QRegion

  • dx – 整数

  • dy – 整数

Return type:

布尔

将给定的area区域向右滚动dx像素,向下滚动dy像素;dxdy都可以是负数。

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

setStaticContents(region)
Parameters:

区域QRegion

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

另请参阅

staticContents()

size()
Return type:

QSize

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

staticContents()
Return type:

QRegion

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

另请参阅

setStaticContents()

window()
Return type:

QWindow

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