Spec-Zone.ru › Qt 6.1

Класс 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 &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 или QGraphicsView. Пример использования QBackingStore см. в примере Raster Window.

Документация по членам-функциям

QBackingStore::QBackingStore(QWindow *window)

Конструирует пустую поверхность для заданного главного окна window.

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 на экран.

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 &region)

Устанавливает 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API