QSvgGenerator Class
La clase QSvgGenerator proporciona un dispositivo de pintura que se utiliza para crear dibujos SVG. Más...
| Cabecera: | #include <QSvgGenerator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Svg)target_link_libraries(mytarget PRIVATE Qt6::Svg) |
| qmake: | QT += svg |
| Hereda: | QPaintDevice |
- Lista de todos los miembros, incluyendo los heredados
- QSvgGenerator es parte de Clases de Pintura.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
(since 6.5) enum class | SvgVersion { SvgTiny12, Svg11 } |
Propiedades
|
Funciones públicas
| QSvgGenerator() | |
(since 6.5) | QSvgGenerator(QSvgGenerator::SvgVersion version) |
| virtual | ~QSvgGenerator() |
| QString | description() const |
| QString | fileName() const |
| QIODevice * | outputDevice() const |
| int | resolution() const |
| void | setDescription(const QString &description) |
| void | setFileName(const QString &fileName) |
| void | setOutputDevice(QIODevice *outputDevice) |
| void | setResolution(int dpi) |
| void | setSize(const QSize &size) |
| void | setTitle(const QString &title) |
| void | setViewBox(const QRect &viewBox) |
| void | setViewBox(const QRectF &viewBox) |
| QSize | size() const |
(since 6.5) QSvgGenerator::SvgVersion | svgVersion() const |
| QString | title() const |
| QRect | viewBox() const |
| QRectF | viewBoxF() const |
Funciones protegidas reimplementadas
(since 6.11) virtual void | initPainter(QPainter *painter) const override |
| virtual int | metric(QPaintDevice::PaintDeviceMetric metric) const override |
| virtual QPaintEngine * | paintEngine() const override |
Descripción detallada
Este dispositivo de pintura representa un dibujo de Gráficos Vectoriales Escalables (SVG). Al igual que QPrinter, está diseñado como un dispositivo de sólo escritura que genera la salida en un formato específico.
Para escribir un archivo SVG, primero es necesario configurar la salida estableciendo las propiedades fileName o outputDevice. Normalmente es necesario especificar el tamaño del dibujo estableciendo la propiedad size, y en algunos casos en los que el dibujo se incluirá en otro, también es necesario establecer la propiedad viewBox.
QSvgGenerator generator; generator.setFileName(path); generator.setSize(QSize(200, 200)); generator.setViewBox(QRect(0, 0, 200, 200)); generator.setTitle(tr("SVG Generator Drawing")); generator.setDescription(tr("An SVG drawing created by the SVG Generator"));
Se pueden especificar otros metadatos estableciendo las propiedades title, description y resolution.
Al igual que con otras subclases de QPaintDevice, se utiliza un objeto QPainter para pintar sobre una instancia de esta clase:
QPainter painter; painter.begin(&generator); ... painter.end();
La pintura se realiza de la misma manera que para cualquier otro dispositivo de pintura. Sin embargo, es necesario utilizar QPainter::begin() y end() para iniciar y finalizar explícitamente la pintura en el dispositivo.
Véase también QSvgRenderer, QSvgWidget, y Qt SVG C++ Classes.
Documentación de tipos de miembros
[since 6.5] enum class QSvgGenerator::SvgVersion
Esta enumeración describe la versión de la salida SVG del generador.
| Constante | Valor | Descripción |
|---|---|---|
QSvgGenerator::SvgVersion::SvgTiny12 | 0 | El documento generado sigue la especificación SVG Tiny 1.2. |
QSvgGenerator::SvgVersion::Svg11 | 1 | El documento generado sigue la especificación SVG 1.1. |
Este enum se introdujo en Qt 6.5.
Documentación de propiedades
description : QString
Esta propiedad contiene la descripción del dibujo SVG generado
Funciones de acceso:
| QString | description() const |
| void | setDescription(const QString &description) |
Véase también title.
fileName : QString
Esta propiedad contiene el nombre de archivo de destino para el dibujo SVG generado
Funciones de acceso:
| QString | fileName() const |
| void | setFileName(const QString &fileName) |
Véase también outputDevice.
outputDevice : QIODevice*
Esta propiedad contiene el dispositivo de salida para el dibujo SVG generado.
Si se especifican tanto el dispositivo de salida como el nombre de archivo, tendrá preferencia el dispositivo de salida.
Funciones de acceso:
| QIODevice * | outputDevice() const |
| void | setOutputDevice(QIODevice *outputDevice) |
Véase también fileName.
resolution : int
Esta propiedad contiene la resolución de la salida generada
La resolución se especifica en puntos por pulgada, y se utiliza para calcular el tamaño físico de un dibujo SVG.
Funciones de acceso:
| int | resolution() const |
| void | setResolution(int dpi) |
size : QSize
Esta propiedad contiene el tamaño del dibujo SVG generado.
Por defecto, esta propiedad se establece en QSize(-1, -1), lo que indica que el generador no debe mostrar los atributos de anchura y altura del elemento <svg>.
Nota: No es posible cambiar esta propiedad mientras un QPainter está activo en el generador.
Funciones de acceso:
| QSize | size() const |
| void | setSize(const QSize &size) |
Véase también viewBox y resolution.
title : QString
Esta propiedad contiene el título del dibujo SVG generado
Funciones de acceso:
| QString | title() const |
| void | setTitle(const QString &title) |
Véase también description.
viewBox : QRectF
Esta propiedad contiene el atributo viewBox del dibujo SVG generado.
Por defecto, esta propiedad se establece en QRect(0, 0, -1, -1), lo que indica que el generador no debe mostrar el atributo viewBox del elemento <svg>.
Nota: No es posible modificar esta propiedad mientras un QPainter está activo en el generador.
Funciones de acceso:
| QRectF | viewBoxF() const |
| void | setViewBox(const QRect &viewBox) |
| void | setViewBox(const QRectF &viewBox) |
Véase también viewBox(), size, y resolution.
Documentación de las funciones miembro
QSvgGenerator::QSvgGenerator()
Crea un nuevo generador utilizando el perfil SVG Tiny 1.2.
[explicit, since 6.5] QSvgGenerator::QSvgGenerator(QSvgGenerator::SvgVersion version)
Construye un nuevo generador que utiliza la versión SVG version.
Esta función se introdujo en Qt 6.5.
[virtual noexcept] QSvgGenerator::~QSvgGenerator()
Destruye el generador.
[override virtual protected, since 6.11] void QSvgGenerator::initPainter(QPainter *painter) const
Esta función se introdujo en Qt 6.11.
[override virtual protected] int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const
Reimplementa: QPaintDevice::metric(QPaintDevice::PaintDeviceMetric) const.
[override virtual protected] QPaintEngine *QSvgGenerator::paintEngine() const
Reimplementa: QPaintDevice::paintEngine() const.
Devuelve el motor de pintura utilizado para renderizar los gráficos que se van a convertir a información en formato SVG.
[since 6.5] QSvgGenerator::SvgVersion QSvgGenerator::svgVersion() const
Devuelve la versión del documento SVG que este generador está produciendo.
Esta función se introdujo en Qt 6.5.
QRect QSvgGenerator::viewBox() const
Devuelve viewBoxF().toRect().
Véase también setViewBox() y viewBoxF().
© 2026 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.