QSvgGenerator Class

QSvgGeneratorクラスはSVG図面を作成するために使われるペイントデバイスを提供する。詳細...

Header: #include <QSvgGenerator>
CMake: find_package(Qt6 REQUIRED COMPONENTS Svg)
target_link_libraries(mytarget PRIVATE Qt6::Svg)
qmake: QT += svg
Inherits: QPaintDevice

注意:このクラスの全ての関数はリエントラントです。

パブリック型

(since 6.5) enum class SvgVersion { SvgTiny12, Svg11 }

プロパティ

パブリック関数

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

再実装された保護された関数

virtual int metric(QPaintDevice::PaintDeviceMetric metric) const override
virtual QPaintEngine *paintEngine() const override

詳細な説明

このペイントデバイスは Scalable Vector Graphics (SVG) 描画を表す。QPrinter のように、特定のフォーマットで出力を生成する書き込み専用デバイスとして設計されている。

SVG ファイルを書き込むには、まずfileName またはoutputDevice プロパティを設定して出力を設定する必要がある。通常、size プロパティを設定することで描画のサイズを指定する必要があり、描画が別のものに含まれるようなケースでは、viewBox プロパティも設定する必要があります。

    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."));

その他のメタデータは、titledescriptionresolution プロパティを設定することで指定できます。

他のQPaintDevice サブクラスと同様に、QPainter オブジェクトを使用して、このクラスのインスタンスに描画します:

    QPainter painter;
    painter.begin(&generator);
    ...
    painter.end();

ペイントは、他のペイント・デバイスと同じ方法で実行されます。ただし、QPainter::begin() とend() を使用して、デバイス上でのペイントを明示的に開始および終了する必要があります。

QSvgRendererQSvgWidgetQt SVG C++ Classesも参照のこと

メンバ型ドキュメント

[since 6.5] enum class QSvgGenerator::SvgVersion

この列挙型はジェネレータの SVG 出力のバージョンを記述する。

定数説明
QSvgGenerator::SvgVersion::SvgTiny120生成された文書は SVG Tiny 1.2 仕様に従う。
QSvgGenerator::SvgVersion::Svg111生成されたドキュメントは SVG 1.1 仕様に従う。

この列挙型は Qt 6.5 で導入されました。

プロパティ Documentation

description : QString

このプロパティは生成された SVG 描画の説明を保持する。

アクセス関数:

QString description() const
void setDescription(const QString &description)

titleも参照

fileName : QString

このプロパティは、生成される SVG 描画のターゲットファイル名を保持する。

アクセス関数:

QString fileName() const
void setFileName(const QString &fileName)

outputDeviceも参照

outputDevice : QIODevice*

このプロパティは生成される SVG 描画の出力デバイスを保持する。

出力デバイスとファイル名の両方が指定された場合、出力デバイスが優先される。

アクセス関数:

QIODevice *outputDevice() const
void setOutputDevice(QIODevice *outputDevice)

fileNameも参照

resolution : int

このプロパティは、生成される出力の解像度を保持する。

解像度は 1 インチあたりのドット数で指定され、 SVG 描画の物理的サイズを計算するために用いられる。

アクセス関数:

int resolution() const
void setResolution(int dpi)

sizeviewBoxも参照

size : QSize

このプロパティは生成される SVG 描画のサイズを保持する。

デフォルトではこのプロパティはQSize(-1, -1) に設定され、ジェネレータが<svg> 要素の width 属性と height 属性を出力しないことを示す。

注意: ジェネレータ上でQPainter がアクティブな間は、このプロパティを変更することはできません。

アクセス関数:

QSize size() const
void setSize(const QSize &size)

viewBox およびresolutionも参照して ください。

title : QString

このプロパティは生成される SVG 描画のタイトルを保持する。

アクセス関数:

QString title() const
void setTitle(const QString &title)

descriptionも参照

viewBox : QRectF

このプロパティは生成された SVG 図面の viewBox を保持します。

デフォルトではこのプロパティはQRect(0, 0, -1, -1) に設定され、ジェネレータが<svg> 要素の viewBox 属性を出力しないことを示す。

注: QPainter がジェネレータ上でアクティブな間は、このプロパティを変更することはできない。

アクセス関数:

QRectF viewBoxF() const
void setViewBox(const QRect &viewBox)
void setViewBox(const QRectF &viewBox)

viewBox()、size 、およびresolutionも参照

メンバ関数ドキュメント

QSvgGenerator::QSvgGenerator()

SVG Tiny 1.2 プロファイルを用いた新しいジェネレータを構築する。

[explicit, since 6.5] QSvgGenerator::QSvgGenerator(QSvgGenerator::SvgVersion version)

SVG バージョンversion を使う新しいジェネレータを構築する。

この関数は Qt 6.5 で導入されました。

[virtual noexcept] QSvgGenerator::~QSvgGenerator()

ジェネレータを破棄する。

[override virtual protected] int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const

再実装:QPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const.

[override virtual protected] QPaintEngine *QSvgGenerator::paintEngine() const

再リンプルメント: (QPaintDevice::PaintDeviceMetric) const:QPaintDevice::paintEngine() const.

SVG 形式の情報に変換されるグラフィックのレンダリングに使用されるペイントエンジンを返します。

[since 6.5] QSvgGenerator::SvgVersion QSvgGenerator::svgVersion() const

このジェネレータが生成している SVG ドキュメントのバージョンを返します。

この関数は Qt 6.5 で導入されました。

QRect QSvgGenerator::viewBox() const

viewBoxF().toRect() を返す。

setViewBox() およびviewBoxF()も参照してください

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。