Spec-Zone.ru › Qt

Класс 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)

Начинает рисование на поверхности backing store в заданной 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 должен быть либо верхним окном, представленным этим 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 &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.2/qbackingstore.html

Spec-Zone.ru

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