QSvgGenerator Class
Die Klasse QSvgGenerator stellt ein Malgerät zur Verfügung, das zur Erstellung von SVG-Zeichnungen verwendet wird. Mehr...
Kopfzeile: | #include <QSvgGenerator> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Svg) target_link_libraries(mytarget PRIVATE Qt6::Svg) |
qmake: | QT += svg |
Vererbungen: | QPaintDevice |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSvgGenerator ist Teil von Painting Classes.
Hinweis: Alle Funktionen in 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 |
Reimplementierte geschützte Funktionen
virtual int | metric(QPaintDevice::PaintDeviceMetric metric) const override |
virtual QPaintEngine * | paintEngine() const override |
Detaillierte Beschreibung
Dieses Malgerät stellt eine Scalable Vector Graphics (SVG) Zeichnung dar. Wie QPrinter ist es als reines Schreibgerät konzipiert, das eine 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 einstellen. In der Regel muss die Größe der Zeichnung durch Setzen der Eigenschaft size angegeben werden, und in einigen Fällen, in denen die Zeichnung in eine andere eingebunden wird, muss auch die Eigenschaft viewBox gesetzt werden.
QSvgGenerator generator; generator.setFileName(path); generator.setSize(QSize(200, 200)); generator.setViewBox(QRect(0, 0, 200, 200)); generator.setTitle(tr("SVG Generator Example Drawing")); generator.setDescription(tr("An SVG drawing created by the SVG Generator " "Example provided with Qt."));
Andere Metadaten können durch Setzen der Eigenschaften title, description und resolution festgelegt werden.
Wie bei anderen QPaintDevice Unterklassen wird ein QPainter Objekt verwendet, um auf eine Instanz dieser Klasse zu zeichnen:
QPainter painter; painter.begin(&generator); ... painter.end();
Das Malen erfolgt auf die gleiche Weise wie bei jedem anderen Malgerät. Es ist jedoch notwendig, die QPainter::begin() und end() zu verwenden, um das Malen auf dem Gerät explizit zu beginnen und zu beenden.
Siehe auch QSvgRenderer, QSvgWidget, und Qt SVG C++ Classes.
Dokumentation der 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 Aufzählung wurde in Qt 6.5 eingeführt.
Eigenschaft Dokumentation
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 Zieldateinamen 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 erzeugte SVG-Zeichnung
Wenn sowohl Ausgabegerät als auch Dateiname angegeben sind, hat das Ausgabegerät Vorrang.
Zugriffsfunktionen:
QIODevice * | outputDevice() const |
void | setOutputDevice(QIODevice *outputDevice) |
Siehe auch fileName.
resolution : int
Diese Eigenschaft enthält die Auflösung der erzeugten Ausgabe
Die Auflösung wird in Dots per Inch angegeben und dient zur Berechnung der physikalischen Größe einer SVG-Zeichnung.
Zugriffsfunktionen:
int | resolution() const |
void | setResolution(int dpi) |
size : QSize
Diese Eigenschaft enthält die Größe der generierten SVG-Zeichnung
Standardmäßig ist diese Eigenschaft auf QSize(-1, -1)
gesetzt, was bedeutet, dass der Generator die Attribute Breite und Höhe des <svg>
Elements nicht ausgeben soll.
Hinweis: Es ist nicht möglich, diese Eigenschaft zu ändern, während ein QPainter auf dem Generator 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, während ein QPainter auf dem Generator aktiv ist.
Zugriffsfunktionen:
QRectF | viewBoxF() const |
void | setViewBox(const QRect &viewBox) |
void | setViewBox(const QRectF &viewBox) |
Siehe auch viewBox(), size, und resolution.
Dokumentation der Mitgliedsfunktionen
QSvgGenerator::QSvgGenerator()
Konstruiert einen neuen Generator unter Verwendung des SVG Tiny 1.2 Profils.
[explicit, since 6.5]
QSvgGenerator::QSvgGenerator(QSvgGenerator::SvgVersion version)
Konstruiert 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]
int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const
Reimplements: QPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const.
[override virtual protected]
QPaintEngine *QSvgGenerator::paintEngine() const
Reimplements: QPaintDevice::paintEngine() const.
Gibt die Paint-Engine zurück, die zum Rendern von Grafiken verwendet wird, die in Informationen im 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().
© 2025 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.