QSvgGenerator Class
La classe QSvgGenerator fournit un périphérique de dessin permettant de créer des dessins SVG. En savoir plus...
| En-tête : | #include <QSvgGenerator> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Svg) target_link_libraries(mytarget PRIVATE Qt6::Svg) |
| qmake : | QT += svg |
| Hérite de : | QPaintDevice |
- Liste de tous les membres, y compris les membres hérités
- QSvgGenerator fait partie des classes de peinture.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Types publics
(since 6.5) enum class | SvgVersion { SvgTiny12, Svg11 } |
Propriétés
|
Fonctions publiques
| 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 |
Fonctions protégées réimplémentées
(since 6.11) virtual void | initPainter(QPainter *painter) const override |
| virtual int | metric(QPaintDevice::PaintDeviceMetric metric) const override |
| virtual QPaintEngine * | paintEngine() const override |
Description détaillée
Ce périphérique de dessin représente un dessin au format SVG (Scalable Vector Graphics). À l'instar de QPrinter, il est conçu comme un périphérique en écriture seule qui génère une sortie dans un format spécifique.
Pour écrire un fichier SVG, vous devez d’abord configurer la sortie en définissant les propriétés ` fileName ` ou ` outputDevice `. Il est généralement nécessaire de spécifier la taille du dessin en définissant la propriété ` size `, et dans certains cas où le dessin sera inclus dans un autre, la propriété ` viewBox ` doit également être définie.
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"));D'autres métadonnées peuvent être spécifiées en définissant les propriétés ` title`, ` description ` et ` resolution `.
Comme pour les autres sous-classes de ` QPaintDevice `, un objet ` QPainter ` est utilisé pour dessiner sur une instance de cette classe :
QPainter painter;
painter.begin(&generator);
...
painter.end();Le tracé s’effectue de la même manière que pour tout autre périphérique de tracé. Cependant, il est nécessaire d’utiliser les méthodes QPainter::begin() et end() pour démarrer et terminer explicitement le tracé sur le périphérique.
Voir également QSvgRenderer, QSvgWidget et Qt SVG C++ Classes.
Documentation sur les types de membres
[since 6.5] enum class QSvgGenerator::SvgVersion
Cette énumération décrit la version de la sortie SVG du générateur.
| Constante | Valeur | Description |
|---|---|---|
QSvgGenerator::SvgVersion::SvgTiny12 | 0 | Le document généré respecte la spécification SVG Tiny 1.2. |
QSvgGenerator::SvgVersion::Svg11 | 1 | Le document généré est conforme à la spécification SVG 1.1. |
Cette énumération a été introduite dans Qt 6.5.
Documentation de la propriété
description : QString
Cette propriété contient la description du dessin SVG généré
Fonctions d'accès :
| QString | description() const |
| void | setDescription(const QString &description) |
Voir aussi title.
fileName : QString
Cette propriété contient le nom du fichier de destination pour le dessin SVG généré
Fonctions d'accès :
| QString | fileName() const |
| void | setFileName(const QString &fileName) |
Voir également outputDevice.
outputDevice : QIODevice*
Cette propriété contient le périphérique de sortie du dessin SVG généré
Si le périphérique de sortie et le nom de fichier sont tous deux spécifiés, le périphérique de sortie a la priorité.
Fonctions d'accès :
| QIODevice * | outputDevice() const |
| void | setOutputDevice(QIODevice *outputDevice) |
Voir également fileName.
resolution : int
Cette propriété définit la résolution du résultat généré
La résolution est exprimée en points par pouce et sert à calculer la taille physique d'un dessin SVG.
Fonctions d'accès :
| int | resolution() const |
| void | setResolution(int dpi) |
Voir également size et viewBox.
size : QSize
Cette propriété contient la taille du dessin SVG généré
Par défaut, cette propriété est définie sur « QSize(-1, -1) », ce qui indique que le générateur ne doit pas inclure les attributs « width » et « height » de l'élément « <svg> ».
Remarque : il n’est pas possible de modifier cette propriété tant qu’une restriction « QPainter » est active sur le générateur.
Fonctions d’accès :
| QSize | size() const |
| void | setSize(const QSize &size) |
Voir également « viewBox » et « resolution ».
title : QString
Cette propriété contient le titre du dessin SVG généré
Fonctions d'accès :
| QString | title() const |
| void | setTitle(const QString &title) |
Voir également description.
viewBox : QRectF
Cette propriété contient la viewBox du dessin SVG généré
Par défaut, cette propriété est définie sur « QRect(0, 0, -1, -1) », ce qui indique que le générateur ne doit pas produire l'attribut viewBox de l'élément <svg>.
Remarque : il n'est pas possible de modifier cette propriété tant qu'une restriction de type « QPainter » est active sur le générateur.
Fonctions d’accès :
| QRectF | viewBoxF() const |
| void | setViewBox(const QRect &viewBox) |
| void | setViewBox(const QRectF &viewBox) |
Voir également viewBox(), size et resolution.
Documentation des fonctions membres
QSvgGenerator::QSvgGenerator()
Crée un nouveau générateur utilisant le profil SVG Tiny 1.2.
[explicit, since 6.5] QSvgGenerator::QSvgGenerator(QSvgGenerator::SvgVersion version)
Crée un nouveau générateur qui utilise la version SVG version.
Cette fonction a été introduite dans Qt 6.5.
[virtual noexcept] QSvgGenerator::~QSvgGenerator()
Détruit le générateur.
[override virtual protected, since 6.11] void QSvgGenerator::initPainter(QPainter *painter) const
Cette fonction a été introduite dans Qt 6.11.
[override virtual protected] int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const
Réimplémente : ` QPaintDevice::metric` (QPaintDevice::PaintDeviceMetric metric) const.
[override virtual protected] QPaintEngine *QSvgGenerator::paintEngine() const
Réimplémente : QPaintDevice::paintEngine() const.
Renvoie des informations sur le moteur de rendu utilisé pour afficher les graphiques à convertir au format SVG.
[since 6.5] QSvgGenerator::SvgVersion QSvgGenerator::svgVersion() const
Renvoie la version du document SVG généré par ce générateur.
Cette fonction a été introduite dans Qt 6.5.
QRect QSvgGenerator::viewBox() const
Renvoie viewBoxF().toRect().
Voir également setViewBox() et 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.