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.
- Classes for Painting
- Paint Devices and Backends
- Drawing and Filling
- Coordinate System
- Reading and Writing Image Files
Classes for Painting
These classes provide support for painting onto a paint device.
The QLine class provides a two-dimensional vector using integer precision.
The QLineF class provides a two-dimensional vector using floating point precision.
The QMargins class defines the four margins of a rectangle.
The QPoint class defines a point in the plane using integer precision.
The QPointF class defines a point in the plane using floating point precision.
The QRect class defines a rectangle in the plane using integer precision.
The QRectF class defines a rectangle in the plane using floating point precision.
The QSize class defines the size of a two-dimensional object using integer point precision.
The QSizeF class defines the size of a two-dimensional object using floating point precision.
The QSvgGenerator class provides a paint device that is used to create SVG drawings.
The QSvgRenderer class is used to draw the contents of SVG files onto paint devices.
The QSvgWidget class provides a widget that is used to display the contents of Scalable Vector Graphics (SVG) files.
The QStylePainter class is a convenience class for drawing QStyle elements inside a widget.
The QColormap class maps device independent QColors to device dependent pixel values.
If you know what kind of class you want (GUI, painting, I.O, etc), look here.
Monochrome (1-bit depth) pixmaps
Scalable icons in different modes and states
Abstract base class for QIcon renderers
Hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device
Format independent interface for reading images from files or other devices
Format independent interface for writing images to files or other devices
Off-screen image representation that can be used as a paint device
Template class that represents a NxM transformation matrix with N columns and M rows
Represents a vector or vertex in 2D space
Defines the fill pattern of shapes drawn by QPainter
Used in combination with QBrush to specify gradient fills
Used in combination with QBrush to specify a linear gradient brush
Used in combination with QBrush to specify a radial gradient brush
Used in combination with QBrush to specify a conical gradient brush
Colors based on RGB, HSV or CMYK values
Represents a paintdevice that supports multiple pages
The base class of objects that can be painted on with QPainter
Abstract definition of how QPainter draws to a given device on a given platform
Performs low-level painting on widgets and other paint devices
Container for painting operations, enabling graphical shapes to be constructed and reused
Used to generate fillable outlines for a given painter path
Class to generate PDFs that can be used as a paint device
Defines how a QPainter should draw lines and outlines of shapes
Vector of points using integer precision
Vector of points using floating point precision
Specifies a clip region for a painter
Specifies 2D transformations of a coordinate system
Specifies a font used for drawing text
Font metrics information
Font metrics information
Used when registering fonts with the internal Qt fontdatabase
Makes it possible to customize how fonts are discovered and how they are rendered