QBackingStore 类
QBackingStore 类提供对 QWindow 的绘制区域。 更多...
头文件 | #include <QBackingStore> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
公共函数
QBackingStore(QWindow *窗口) | |
~QBackingStore() | |
void | beginPaint(const QRegion &区域) |
void | endPaint() |
void | flush(const QRegion &区域, QWindow *窗口 = nullptr, const QPoint &偏移 = QPoint()) |
QPlatformBackingStore * | handle() const |
bool | hasStaticContents() const |
QPaintDevice * | paintDevice() |
void | resize(const QSize &大小) |
bool | scroll(const QRegion &区域, int dx, int dy) |
void | setStaticContents(const QRegion &区域) |
QSize | size() const |
QRegion | staticContents() 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 ®ion, 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 像素;dx 和 dy 均可能为负值。
如果成功滚动区域,则返回 true
;否则为 false
。
void QBackingStore::setStaticContents(const QRegion ®ion)
将 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.和/或其他国家的商标。所有其他商标均为其各自所有者所有。