SVG ファイルのレンダリング
Qt SVG は SVG ファイルをレンダリングするためのクラスを提供します。このモジュールのクラスの定義をインクルードするには、以下のディレクティブを使います:
#include <QtSvg>このモジュールにリンクするには、qmake .pro ファイルにこの行を追加してください:
QT += svg
SVGファイルのレンダリング
SVG(Scalable Vector Graphics)は、2次元グラフィックスとグラフィカル・アプリケーションをXMLで記述するための言語です。SVG 1.1はW3C勧告であり、Qtにおける現在のSVG開発の中核を成しています。SVG 1.2は現在SVGワーキンググループによって開発されている仕様で、ドラフト形式で利用可能です。モバイルSVGプロファイル(SVG BasicとSVG Tiny)はリソースの限られたデバイスを対象としており、第三世代携帯電話向けの3GPPプラットフォームの一部です。SVGについて詳しくはAbout SVGをご覧ください。
Qt はSVG 1.2 Tiny の静的機能をサポートしています。ECMA スクリプトと DOM 操作は現在サポートされていません。
Qt 6.7以降、SVG 1.1規格の追加機能がサポートされています。
SVG 描画は、どのQPaintDevice サブクラスにもレンダリングできます。このアプローチは開発者に柔軟性を与え、それぞれのアプリケーションに最適な解決策を見つけるために実験することができます。
SVGファイルをレンダリングする最も簡単な方法は、QSvgWidget を構築し、QSvgWidget::load() 関数のいずれかを使ってSVGファイルを読み込むことである。
QSvgRenderer はQSvgWidget の SVG ファイルのレンダリングを担当するクラスで、カスタムウィジェットの SVG サポートを提供するために直接使用することができます。SVG ファイルをロードするには、ファイル名かファイルの内容でQSvgRenderer を構築するか、既存のレンダラーでQSvgRenderer::load() を呼び出す。SVG ファイルが正常に読み込まれた場合、QSvgRenderer::isValid() は真を返す。
SVG ファイルの読み込みに成功したら、QSvgRenderer::render() 関数でそれを描画できる。このスキームでは、QWidget 、QGLWidget、QImage を含む Qt がサポートするすべてのペイントデバイスで SVG ファイルをレンダリングできることに注意してください。
© 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.