QSvgWidget Class

Die Klasse QSvgWidget stellt ein Widget zur Verfügung, mit dem der Inhalt von SVG-Dateien (Scalable Vector Graphics) angezeigt werden kann. Mehr...

Kopfzeile: #include <QSvgWidget>
CMake: find_package(Qt6 REQUIRED COMPONENTS SvgWidgets)
target_link_libraries(mytarget PRIVATE Qt6::SvgWidgets)
qmake: QT += svgwidgets
Vererbungen: 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)

Reimplementierte öffentliche Funktionen

virtual QSize sizeHint() const override

Öffentliche Slots

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

Reimplementierte geschützte Funktionen

virtual void paintEvent(QPaintEvent *event) override

Detaillierte Beschreibung

Diese Klasse ermöglicht es Entwicklern, SVG-Zeichnungen neben Standard-Widgets anzuzeigen. Sie wird ähnlich wie QLabel für die Anzeige von Text und Bitmap-Bildern verwendet.

Da QSvgWidget eine Unterklasse von QWidget ist, werden SVG-Zeichnungen unter Verwendung der Eigenschaften des Displays gerendert. Mehr Kontrolle über den Rendering-Prozess kann mit der Klasse QSvgRenderer ausgeübt werden, da diese zum Zeichnen auf andere Zeichengeräte, wie QImage und QGLWidget, verwendet werden kann. Der vom Widget verwendete Renderer kann mit der Funktion renderer() ermittelt werden.

Jedes QSvgWidget kann mit dem Dateinamen einer SVG-Datei konstruiert werden, oder es kann ohne eine spezifische zu rendernde Datei konstruiert werden und eine solche kann später geliefert werden. Die Funktionen load() bieten zwei verschiedene Möglichkeiten, eine SVG-Datei zu laden: Sie akzeptieren entweder den Dateinamen einer SVG-Datei oder eine QByteArray, die die serialisierte XML-Darstellung einer SVG-Datei enthält.

Standardmäßig gibt das Widget einen Größenhinweis, der die Größe der angezeigten Zeichnung wiedergibt. Wenn keine Daten geladen wurden, bietet das Widget den Standard-Größenhinweis QWidget. Unterklassifizieren Sie diese Klasse und reimplementieren Sie sizeHint(), wenn Sie dieses Verhalten anpassen möchten.

Siehe auch QSvgRenderer, Qt SVG C++ Classes, und QPicture.

Dokumentation der Mitgliedsfunktionen

QSvgWidget::QSvgWidget(QWidget *parent = nullptr)

Konstruiert ein neues SVG-Anzeige-Widget mit dem angegebenen parent.

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

Konstruiert ein neues SVG-Anzeige-Widget mit dem angegebenen parent und lädt den Inhalt des angegebenen file.

[virtual noexcept] QSvgWidget::~QSvgWidget()

Zerstört das Widget.

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

Lädt das angegebene SVG-Format contents und aktualisiert das Widget.

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

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

[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)

Reimplements: QWidget::paintEvent(QPaintEvent *event).

QSvgRenderer *QSvgWidget::renderer() const

Gibt den Renderer zurück, der verwendet wird, um den Inhalt des Widgets anzuzeigen.

[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, die verwendet werden können, um verschiedene Funktionen des Parsens und Renderns von SVG-Dateien zu aktivieren oder zu deaktivieren. Sie muss vor dem Aufruf der Ladefunktion gesetzt werden, um eine Wirkung zu erzielen.

Standardmäßig sind keine Flags gesetzt.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch options.

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

Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::sizeHint.

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