QPaintEvent Class

The QPaintEvent class contains event parameters for paint events. More...

Header: #include <QPaintEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: QEvent

Public Functions

QPaintEvent(const QRect &paintRect)
QPaintEvent(const QRegion &paintRegion)
const QRect &rect() const
const QRegion &region() const

Detailed Description

Paint events are sent to widgets that need to update themselves, for instance when part of a widget is exposed because a covering widget was moved.

The event contains a region() that needs to be updated, and a rect() that is the bounding rectangle of that region. Both are provided because many widgets cannot make much use of region(), and rect() can be much faster than region().boundingRect().

Automatic Clipping

Painting is clipped to region() during the processing of a paint event. This clipping is performed by Qt's paint system and is independent of any clipping that may be applied to a QPainter used to draw on the paint device.

As a result, the value returned by QPainter::clipRegion() on a newly-constructed QPainter will not reflect the clip region that is used by the paint system.

See also QPainter, QWidget::update(), QWidget::repaint(), and QWidget::paintEvent().

Member Function Documentation

[explicit] QPaintEvent::QPaintEvent(const QRect &paintRect)

Constructs a paint event object with the rectangle that needs to be updated. The region is specified by paintRect.

[explicit] QPaintEvent::QPaintEvent(const QRegion &paintRegion)

Constructs a paint event object with the region that needs to be updated. The region is specified by paintRegion.

const QRect &QPaintEvent::rect() const

Returns the rectangle that needs to be updated.

See also region() and QPainter::setClipRect().

const QRegion &QPaintEvent::region() const

Returns the region that needs to be updated.

See also rect() and QPainter::setClipRegion().

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.