Класс QBackingStore
Класс QBackingStore предоставляет область рисования для QWindow. Подробнее...
| Заголовок: | #include <QBackingStore> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
Открытые функции
| QBackingStore(QWindow *window) | |
| ~QBackingStore() | |
| void | beginPaint(const QRegion ®ion) |
| void | endPaint() |
| void | flush(const QRegion ®ion, 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 ®ion) |
| QSize | size() const |
| QRegion | staticContents() const |
| QWindow * | window() const |
Подробное описание
QBackingStore позволяет использовать QPainter для рисования на QWindow с типом RasterSurface. Другой способ отрисовки на QWindow — использование OpenGL с QOpenGLContext.
QBackingStore содержит буферизованное представление содержимого окна и, следовательно, поддерживает частичные обновления, используя QPainter для обновления только подмножества содержимого окна.
QBackingStore может использоваться приложением, которое хочет использовать QPainter без ускорения OpenGL и без дополнительной нагрузки, связанной с использованием стеков пользовательского интерфейса QWidget или QGraphicsView. Пример использования QBackingStore см. в примере Raster Window.
Документация по членам-функциям
QBackingStore::QBackingStore(QWindow *window)
Конструирует пустую поверхность для заданного главного окна window.
QBackingStore::~QBackingStore()
Уничтожает эту поверхность.
void QBackingStore::beginPaint(const QRegion ®ion)
Начинает рисование на поверхности буфера в заданной области region.
Вы должны вызвать эту функцию перед использованием paintDevice() для рисования.
См. также endPaint() и paintDevice().
void QBackingStore::endPaint()
Оканчивает рисование.
Вы должны вызвать эту функцию после завершения рисования с помощью paintDevice().
См. также beginPaint() и paintDevice().
void QBackingStore::flush(const QRegion ®ion, QWindow *window = nullptr, const QPoint &offset = QPoint())
Очищает указанную область region из указанного window на экран.
window должен быть либо главным окном, представленным этим буфером, либо дочерним окном этого окна, не являющимся временным. Передача nullptr возвращается к использованию главного окна буфера.
Если window — дочернее окно, region должна быть в координатах дочернего окна, а offset — смещение дочернего окна относительно главного окна буфера.
Вы должны вызвать эту функцию после завершения рисования с помощью 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
Возвращает указатель на главное окно, связанное с этой поверхностью.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qbackingstore.html