Paint System¶
A system for painting on the screen or on print devices using the same API
Qt’s paint system enables painting on screen and print devices using the same API, and is primarily based on the QPainter
, QPaintDevice
, and QPaintEngine
classes.
QPainter
is used to perform drawing operations, QPaintDevice
is an abstraction of a two-dimensional space that can be painted on using a QPainter
, and QPaintEngine
provides the interface that the painter uses to draw onto different types of devices. The QPaintEngine
class is used internally by QPainter
and QPaintDevice
, and is hidden from application programmers unless they create their own device type.
The main benefit of this approach is that all painting follows the same painting pipeline making it easy to add support for new features and providing default implementations for unsupported ones.
Topics¶
Classes for Painting¶
These classes provide support for painting onto a paint device.
The QBitmap class provides monochrome (1-bit depth) pixmaps.
The QIcon class provides scalable icons in different modes and states.
The QIconEngine class provides an abstract base class for QIcon renderers.
The QImage class provides a hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device.
The QImageReader class provides a format independent interface for reading images from files or other devices.
The QImageWriter class provides a format independent interface for writing images to files or other devices.
The QPixmap class is an off-screen image representation that can be used as a paint device.
PySide6.QtGui.QGenericMatrix
The QGenericMatrix class is a template class that represents a NxM transformation matrix with N columns and M rows.
The QVector2D class represents a vector or vertex in 2D space.
The QBrush class defines the fill pattern of shapes drawn by QPainter.
The QGradient class is used in combination with QBrush to specify gradient fills.
The QLinearGradient class is used in combination with QBrush to specify a linear gradient brush.
The QRadialGradient class is used in combination with QBrush to specify a radial gradient brush.
The QConicalGradient class is used in combination with QBrush to specify a conical gradient brush.
The QColor class provides colors based on RGB, HSV or CMYK values.
The QColorSpace class provides a color space abstraction.
The QColorTransform class is a transformation between color spaces.
The QPagedPaintDevice class represents a paint device that supports multiple pages.
The QPageRanges class represents a collection of page ranges.
The QPaintDevice class is the base class of objects that can be painted on with QPainter.
The QPaintEngine class provides an abstract definition of how QPainter draws to a given device on a given platform.
The QPainter class performs low-level painting on widgets and other paint devices.
The QPainterPath class provides a container for painting operations, enabling graphical shapes to be constructed and reused.
The QPainterPathStroker class is used to generate fillable outlines for a given painter path.
QPdfOutputIntent
The QPdfWriter class is a class to generate PDFs that can be used as a paint device.
The QPen class defines how a QPainter should draw lines and outlines of shapes.
The QPolygon class provides a list of points using integer precision.
The QPolygonF class provides a list of points using floating point precision.
The QRegion class specifies a clip region for a painter.
The QRgba64 struct contains a 64-bit RGB color.
QRgbaFloat
The QRgbaFloat struct contains a four part RGBA floating-point color.
The QTransform class specifies 2D transformations of a coordinate system.
The QFont class specifies a query for a font used for drawing text.
The QFontMetrics class provides font metrics information.
The QFontMetricsF class provides font metrics information.
QSupportedWritingSystems
The QSupportedWritingSystems class is used when registering fonts with the internal Qt fontdatabase.