|  | Home · Overviews · Examples

# QSvgRenderer Class Reference
[com.trolltech.qt.svg module]

The `QSvgRenderer` class is used to draw the contents of SVG files onto paint devices. More...

Inherits `QObject`.

## Detailed Description

The `QSvgRenderer` class is used to draw the contents of SVG files onto paint devices.

Using `QSvgRenderer`, Scalable Vector Graphics (SVG) can be rendered onto any `QPaintDevice` subclass, including `QWidget`, `QImage`, and `QGLWidget`.

`QSvgRenderer` provides an API that supports basic features of SVG rendering, such as loading and rendering of static drawings, and more interactive features like animation. Since the rendering is performed using `QPainter`, SVG drawings can be rendered on any subclass of `QPaintDevice`.

SVG drawings are either loaded when an `QSvgRenderer` is constructed, or loaded later using the `load` functions. Data is either supplied directly as serialized XML, or indirectly using a file name. If a valid file has been loaded, either when the renderer is constructed or at some later time, `isValid` returns true; otherwise it returns false. `QSvgRenderer` provides the `render` slot to render the current document, or the current frame of an animated document, using a given painter.

The `defaultSize` function provides information about the amount of space that is required to render the currently loaded SVG file. This is useful for paint devices, such as `QWidget`, that often need to supply a size hint to their parent layout. The default size of a drawing may differ from its visible area, found using the `viewBox` property.

Animated SVG drawings are supported, and can be controlled with a simple collection of functions and properties:

- The `animated` function indicates whether a drawing contains animation information.
- The `framesPerSecond` property contains the rate at which the animation plays.

Finally, the `QSvgRenderer` class provides the `repaintNeeded` signal which is emitted whenever the rendering of the document needs to be updated.

See also `QSvgWidget`, `QtSvg Module`, SVG Viewer Example, and `QPicture`.