QSvgWidget Class
QSvgWidget クラスは、Scalable Vector Graphics (SVG) ファイルの内容を表示するために使用されるウィジェットを提供します。詳細...
| ヘッダー: | #include <qsvgwidget.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS SvgWidgets) target_link_libraries(mytarget PRIVATE Qt6::SvgWidgets) |
| qmake: | QT += svgwidgets |
| 継承元: | QWidget |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QSvgWidgetは、Paintingクラス群の一部です。
パブリック関数
| 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) |
再実装されたパブリック関数
| virtual QSize | sizeHint() const override |
パブリックスロット
再実装された保護関数
| virtual void | paintEvent(QPaintEvent *event) override |
詳細な説明
このクラスを使用すると、開発者は標準のウィジェットと並んで SVG 図形を表示することができ、テキストやビットマップ画像の表示に `QLabel ` が使用されるのと同様の方法で使用されます。
QSvgWidget はQWidget のサブクラスであるため、SVG 描画はディスプレイのプロパティを使用してレンダリングされます。QSvgRenderer クラスを使用すると、QImage や QGLWidget などの他のペイントデバイスに描画することができるため、レンダリングプロセスをより細かく制御することができます。ウィジェットが使用するレンダラーは、renderer() 関数で取得できます。
各 QSvgWidget は、SVG ファイルのファイル名を指定して生成することも、レンダリングする特定のファイルを指定せずに生成し、後でファイルを指定することも可能です。load() 関数は、SVG ファイルをロードするための 2 つの異なる方法を提供しています。これらは、SVG ファイルのファイル名、または SVG ファイルのシリアライズされた XML 表現を含む `QByteArray ` のいずれかを受け入れます。
デフォルトでは、ウィジェットは表示する描画のサイズを反映したサイズヒントを提供します。データが読み込まれていない場合、ウィジェットはデフォルトのQWidget サイズヒントを提供します。この挙動をカスタマイズする必要がある場合は、このクラスをサブクラス化し、sizeHint()を再実装してください。
QSvgRenderer 、 Qt SVG C++ Classes、および `QPicture` を参照してください。
メンバ関数のドキュメント
QSvgWidget::QSvgWidget(QWidget *parent = nullptr)
指定されたparent を使用して、新しいSVG表示ウィジェットを作成します。
QSvgWidget::QSvgWidget(const QString &file, QWidget *parent = nullptr)
指定されたparent を使用して新しいSVG表示ウィジェットを作成し、指定されたfile の内容を読み込みます。
[virtual noexcept] QSvgWidget::~QSvgWidget()
ウィジェットを破棄します。
[slot] void QSvgWidget::load(const QByteArray &contents)
指定されたSVG形式のcontents を読み込み、ウィジェットを更新します。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// 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); }); [slot] void QSvgWidget::load(const QString &file)
指定されたSVGファイルfile の内容を読み込み、ウィジェットを更新します。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// 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); }); [since 6.7] QtSvg::Options QSvgWidget::options() const
ウィジェットのレンダラーのオプションを返します。
この関数は Qt 6.7 で導入されました。
setOptionsも参照してください 。
[override virtual protected] void QSvgWidget::paintEvent(QPaintEvent *event)
QWidget::paintEvent(QPaintEvent *event) を再実装します。
QSvgRenderer *QSvgWidget::renderer() const
ウィジェットのコンテンツを表示するために使用されるレンダラーを返します。
[since 6.7] void QSvgWidget::setOptions(QtSvg::Options options)
ウィジェットのレンダラーオプションを `options` に設定します。
このプロパティには、SVGファイルの解析およびレンダリングに関するさまざまな機能を有効または無効にするために使用できるQtSvg::Option フラグのセットが格納されます。この設定が有効になるには、load関数を呼び出す前に設定する必要があります。
デフォルトでは、フラグは設定されていません。
この関数は Qt 6.7 で導入されました。
「options」も参照してください 。
[override virtual] QSize QSvgWidget::sizeHint() const
プロパティ「QWidget::sizeHint 」のアクセス関数を再実装します。
© 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.