Auf dieser Seite

QSvgWidget Class

Die Klasse „QSvgWidget“ stellt ein Widget bereit, mit dem der Inhalt von SVG-Dateien (Scalable Vector Graphics) angezeigt werden kann. Mehr...

Header: #include <qsvgwidget.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS SvgWidgets)
target_link_libraries(mytarget PRIVATE Qt6::SvgWidgets)
qmake: QT += svgwidgets
Erbt von: QWidget

Öffentliche Funktionen

QSvgWidget(QWidget *parent = nullptr)
QSvgWidget(const QString &file, QWidget *parent = nullptr)
virtual ~QSvgWidget()
(since 6.7) QtSvg::Options options() const
QSvgRenderer *renderer() const
(since 6.7) void setOptions(QtSvg::Options options)

Neu implementierte öffentliche Funktionen

virtual QSize sizeHint() const override

Öffentliche Slots

void load(const QByteArray &contents)
void load(const QString &file)

Neu implementierte geschützte Funktionen

virtual void paintEvent(QPaintEvent *event) override

Ausführliche Beschreibung

Diese Klasse ermöglicht es Entwicklern, SVG-Zeichnungen neben Standard-Widgets anzuzeigen, und wird ähnlich wie „ QLabel “ zur Darstellung von Text und Bitmap-Bildern verwendet.

Da `QSvgWidget` eine Unterklasse von ` QWidget` ist, werden SVG-Zeichnungen unter Verwendung der Eigenschaften des Anzeigegeräts gerendert. Mit der Klasse ` QSvgRenderer ` lässt sich der Rendering-Prozess stärker steuern, da diese zum Zeichnen auf andere Zeichenobjekte wie ` QImage ` und `QGLWidget` verwendet werden kann. Der vom Widget verwendete Renderer kann mit der Funktion ` renderer()` abgerufen werden.

Jedes `QSvgWidget` kann mit dem Dateinamen einer SVG-Datei erstellt werden, oder es kann ohne eine bestimmte zu rendernde Datei erstellt werden, die später bereitgestellt werden kann. Die Funktionen ` load()` bieten zwei verschiedene Möglichkeiten zum Laden einer SVG-Datei: Sie akzeptieren entweder den Dateinamen einer SVG-Datei oder ein ` QByteArray `, das die serialisierte XML-Darstellung einer SVG-Datei enthält.

Standardmäßig liefert das Widget einen Größenhinweis, der die Größe der angezeigten Zeichnung widerspiegelt. Wenn keine Daten geladen wurden, liefert das Widget den Standard-Größenhinweis von ` QWidget `. Erstellen Sie eine Unterklasse dieser Klasse und implementieren Sie ` sizeHint()` neu, wenn Sie dieses Verhalten anpassen möchten.

Siehe auch „ QSvgRenderer “, Qt SVG C++ Classessowie QPicture.

Dokumentation zu den Member-Funktionen

QSvgWidget::QSvgWidget(QWidget *parent = nullptr)

Erstellt ein neues SVG-Anzeigewidget mit dem angegebenen „ parent “.

QSvgWidget::QSvgWidget(const QString &file, QWidget *parent = nullptr)

Erstellt ein neues SVG-Anzeige-Widget mit dem angegebenen „ parent “ und lädt den Inhalt der angegebenen „ file “.

[virtual noexcept] QSvgWidget::~QSvgWidget()

Löscht das Widget.

[slot] void QSvgWidget::load(const QByteArray &contents)

Lädt die angegebene SVG-Datei im Format „ contents “ und aktualisiert das Widget.

Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        svgWidget, qOverload(&QSvgWidget::load));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        svgWidget, [receiver = svgWidget](const QByteArray &contents) { receiver->load(contents); });
Weitere Beispiele und Vorgehensweisen finden Sie unter „An überladene Slots anschließen“.

[slot] void QSvgWidget::load(const QString &file)

Lädt den Inhalt der angegebenen SVG- file und aktualisiert das Widget.

Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        svgWidget, qOverload(&QSvgWidget::load));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        svgWidget, [receiver = svgWidget](const QString &file) { receiver->load(file); });
Weitere Beispiele und Vorgehensweisen finden Sie unter „An überladene Slots anschließen“.

[since 6.7] QtSvg::Options QSvgWidget::options() const

Gibt die Optionen des Renderers des Widgets zurück.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch „ setOptions “.

[override virtual protected] void QSvgWidget::paintEvent(QPaintEvent *event)

Umsetzt: ` QWidget::paintEvent` (`QPaintEvent *event`).

QSvgRenderer *QSvgWidget::renderer() const

Gibt den Renderer zurück, der zur Darstellung des Inhalts des Widgets verwendet wird.

[since 6.7] void QSvgWidget::setOptions(QtSvg::Options options)

Setzt die Renderer-Optionen des Widgets auf „ options “.

Diese Eigenschaft enthält eine Reihe von „ QtSvg::Option “-Flags, mit denen verschiedene Funktionen beim Parsen und Rendern von SVG-Dateien aktiviert oder deaktiviert werden können. Sie muss vor dem Aufruf der load-Funktion gesetzt werden, um wirksam zu sein.

Standardmäßig sind keine Flags gesetzt.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch „ options “.

[override virtual] QSize QSvgWidget::sizeHint() const

Implementiert eine Zugriffsfunktion für die Eigenschaft „ QWidget::sizeHint “ neu.

© 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.