QSvgGenerator Class
Die Klasse „QSvgGenerator“ stellt ein Zeichenobjekt bereit, das zum Erstellen von SVG-Zeichnungen verwendet wird. Mehr...
| Header: | #include <QSvgGenerator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Svg) target_link_libraries(mytarget PRIVATE Qt6::Svg) |
| qmake: | QT += svg |
| Erbt von: | QPaintDevice |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSvgGenerator ist Teil der Mal-Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Typen
(since 6.5) enum class | SvgVersion { SvgTiny12, Svg11 } |
Eigenschaften
|
Öffentliche Funktionen
| 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 |
Neu implementierte geschützte Funktionen
(since 6.11) virtual void | initPainter(QPainter *painter) const override |
| virtual int | metric(QPaintDevice::PaintDeviceMetric metric) const override |
| virtual QPaintEngine * | paintEngine() const override |
Ausführliche Beschreibung
Dieses Zeichen-Gerät repräsentiert eine Scalable Vector Graphics (SVG)-Zeichnung. Wie QPrinter ist es als schreibgeschütztes Gerät konzipiert, das die Ausgabe in einem bestimmten Format erzeugt.
Um eine SVG-Datei zu schreiben, müssen Sie zunächst die Ausgabe konfigurieren, indem Sie die Eigenschaften ` fileName ` oder ` outputDevice ` festlegen. In der Regel ist es erforderlich, die Größe der Zeichnung über die Eigenschaft ` size ` anzugeben; in einigen Fällen, in denen die Zeichnung in eine andere eingebettet wird, muss zusätzlich die Eigenschaft ` viewBox ` festgelegt werden.
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"));Weitere Metadaten können durch Festlegen der Eigenschaften „ title “, „ description “ und „ resolution “ angegeben werden.
Wie bei anderen Unterklassen von ` QPaintDevice ` wird ein ` QPainter `-Objekt verwendet, um auf eine Instanz dieser Klasse zu zeichnen:
QPainter painter;
painter.begin(&generator);
...
painter.end();Das Zeichnen erfolgt auf dieselbe Weise wie bei jedem anderen Zeichen-Gerät. Es ist jedoch erforderlich, die Methoden ` QPainter::begin()` und ` end()` zu verwenden, um das Zeichnen auf dem Gerät explizit zu beginnen und zu beenden.
Siehe auch QSvgRenderer, QSvgWidget und Qt SVG C++ Classes.
Dokumentation zu Mitgliedstypen
[since 6.5] enum class QSvgGenerator::SvgVersion
Diese Aufzählung beschreibt die Version der SVG-Ausgabe des Generators.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSvgGenerator::SvgVersion::SvgTiny12 | 0 | Das generierte Dokument entspricht der SVG-Tiny-1.2-Spezifikation. |
QSvgGenerator::SvgVersion::Svg11 | 1 | Das generierte Dokument entspricht der SVG 1.1-Spezifikation. |
Diese Enumeration wurde in Qt 6.5 eingeführt.
Eigenschaftsdokumentation
description : QString
Diese Eigenschaft enthält die Beschreibung der generierten SVG-Zeichnung
Zugriffsfunktionen:
| QString | description() const |
| void | setDescription(const QString &description) |
Siehe auch title.
fileName : QString
Diese Eigenschaft enthält den Ziel-Dateinamen für die generierte SVG-Zeichnung
Zugriffsfunktionen:
| QString | fileName() const |
| void | setFileName(const QString &fileName) |
Siehe auch outputDevice.
outputDevice : QIODevice*
Diese Eigenschaft enthält das Ausgabegerät für die generierte SVG-Zeichnung
Wenn sowohl das Ausgabegerät als auch der Dateiname angegeben sind, hat das Ausgabegerät Vorrang.
Zugriffsfunktionen:
| QIODevice * | outputDevice() const |
| void | setOutputDevice(QIODevice *outputDevice) |
Siehe auch „ fileName “.
resolution : int
Diese Eigenschaft gibt die Auflösung der generierten Ausgabe an
Die Auflösung wird in Punkten pro Zoll angegeben und dient zur Berechnung der physikalischen Größe einer SVG-Zeichnung.
Zugriffsfunktionen:
| int | resolution() const |
| void | setResolution(int dpi) |
size : QSize
Diese Eigenschaft gibt die Größe der generierten SVG-Zeichnung an
Standardmäßig ist diese Eigenschaft auf „ QSize(-1, -1) “ gesetzt, was bedeutet, dass der Generator die Attribute „width“ und „height“ des Elements „ <svg> “ nicht ausgeben soll.
Hinweis: Es ist nicht möglich, diese Eigenschaft zu ändern, solange im Generator ein „ QPainter “ aktiv ist.
Zugriffsfunktionen:
| QSize | size() const |
| void | setSize(const QSize &size) |
Siehe auch „ viewBox “ und „ resolution “.
title : QString
Diese Eigenschaft enthält den Titel der generierten SVG-Zeichnung
Zugriffsfunktionen:
| QString | title() const |
| void | setTitle(const QString &title) |
Siehe auch description.
viewBox : QRectF
Diese Eigenschaft enthält die viewBox der generierten SVG-Zeichnung
Standardmäßig ist diese Eigenschaft auf „ QRect(0, 0, -1, -1) “ gesetzt, was bedeutet, dass der Generator das „viewBox“-Attribut des „ <svg> “-Elements nicht ausgeben soll.
Hinweis: Es ist nicht möglich, diese Eigenschaft zu ändern, solange im Generator ein „ QPainter “ aktiv ist.
Zugriffsfunktionen:
| QRectF | viewBoxF() const |
| void | setViewBox(const QRect &viewBox) |
| void | setViewBox(const QRectF &viewBox) |
Siehe auch „ viewBox()“, „ size “ und „ resolution “.
Dokumentation zu den Mitgliedsfunktionen
QSvgGenerator::QSvgGenerator()
Erstellt einen neuen Generator unter Verwendung des SVG Tiny 1.2-Profils.
[explicit, since 6.5] QSvgGenerator::QSvgGenerator(QSvgGenerator::SvgVersion version)
Erstellt einen neuen Generator, der die SVG-Version version verwendet.
Diese Funktion wurde in Qt 6.5 eingeführt.
[virtual noexcept] QSvgGenerator::~QSvgGenerator()
Zerstört den Generator.
[override virtual protected, since 6.11] void QSvgGenerator::initPainter(QPainter *painter) const
Diese Funktion wurde in Qt 6.11 eingeführt.
[override virtual protected] int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const
Implementiert neu: ` QPaintDevice::metric` (QPaintDevice::PaintDeviceMetric metric) const.
[override virtual protected] QPaintEngine *QSvgGenerator::paintEngine() const
Implementiert neu: ` QPaintDevice::paintEngine()` const.
Gibt die Paint-Engine zurück, die zum Rendern der Grafiken verwendet wurde, die in das SVG-Format konvertiert werden sollen.
[since 6.5] QSvgGenerator::SvgVersion QSvgGenerator::svgVersion() const
Gibt die Version des SVG-Dokuments zurück, das dieser Generator erzeugt.
Diese Funktion wurde in Qt 6.5 eingeführt.
QRect QSvgGenerator::viewBox() const
Gibt viewBoxF().toRect() zurück.
Siehe auch „ setViewBox()“ und „ 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.