QSvgGenerator类
QSvgGenerator类提供了一个绘图设备,用于创建SVG图形。更多信息...
头文件 | #include <QSvgGenerator> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Svg) target_link_libraries(mytarget PRIVATE Qt6::Svg) |
qmake | QT += svg |
继承 | QPaintDevice |
- 包括继承成员在内的所有成员列表
- QSvgGenerator是绘图类的一部分。
注意: 此类中的所有函数都是可重入的。
公共类型
(自6.5起) enum class | SvgVersion { SvgTiny12, Svg11 } |
属性
|
公共函数
QSvgGenerator() | |
(自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 |
(自6.5起) QSvgGenerator::SvgVersion | svgVersion() const |
QString | title() const |
QRect | viewBox() const |
QRectF | viewBoxF() const |
重实现的保护函数
virtual int | metric(QPaintDevice::PaintDeviceMetric metric) const override |
虚拟 QPaintEngine * 类 | 重写paintEngine() const |
详细说明
此绘图设备代表一个可缩放的矢量图形(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."));
其他元数据可以通过设置 title、description 和 resolution 属性来指定。
与其他 QPaintDevice 子类一样,使用一个 QPainter 对象在此类的一个实例上绘制
QPainter painter; painter.begin(&generator); ... painter.end();
绘制的方式与其他任何绘图设备相同。但是,在设备上进行绘制和结束绘制时,需要使用 QPainter::begin() 和 end() 来显式开始和结束。
另请参阅QSvgRenderer、QSvgWidget 以及 Qt SVG C++类。
成员类型文档
[自 6.5 版起]
枚举类 QSvgGenerator::SvgVersion
此枚举描述了生成器的 SVG 输出版本。
常量 | 值 | 描述 |
---|---|---|
QSvgGenerator::SvgVersion::SvgTiny12 | 0 | 生成的文档遵循 SVG Tiny 1.2 规范。 |
QSvgGenerator::SvgVersion::Svg11 | 1 | 生成的文档遵循 SVG 1.1 规范。 |
此枚举自 Qt 6.5 版本中引入。
属性文档
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
此属性包含生成的输出的分辨率
分辨率以每英寸点数为单位指定,用于计算 SVG 绘图的物理尺寸。
访问函数
int | resolution() const |
void | setResolution(int dpi) |
size : QSize
该属性存储生成的SVG绘图的大小
默认情况下,该属性设置为 QSize(-1, -1)
,表示生成器不应输出 <svg>
元素的宽度和高度属性。
注意:在生成器上激活一个 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绘图的可视框
默认情况下,该属性设置为 QRect(0, 0, -1, -1)
,表示生成器不应输出 <svg>
元素的可视框属性。
注意:在生成器上激活一个 QPainter 时,无法更改此属性。
访问函数
QRectF | viewBoxF() const |
void | setViewBox(const QRect &viewBox) |
void | setViewBox(const QRectF &viewBox) |
另请参阅:viewBox(),size 和 resolution。
成员函数文档
QSvgGenerator::QSvgGenerator()
使用SVG Tiny 1.2配置文件构建新的生成器。
[显式,自6.5起]
QSvgGenerator::QSvgGenerator(QSvgGenerator::SvgVersion version)
构建一个使用SVG版本 version 的新生成器。
此函数自Qt 6.5引入。
[虚�数 noexcept]
QSvgGenerator::~QSvgGenerator()
销毁生成器。
[虚拟受保护覆盖]
int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const
重新实现:QPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const。
[虚拟受保护覆盖]
QPaintEngine *QSvgGenerator::paintEngine() const
重新实现:QPaintDevice::paintEngine() const。
返回用于渲染要转换为SVG格式的图形的绘图引擎。
[自6.5起]
QSvgGenerator::SvgVersion QSvgGenerator::svgVersion() const
返回此生成器生成的SVG文档的版本。
此函数自Qt 6.5引入。
QRect QSvgGenerator::viewBox() const
返回 viewBoxF().toRect()。
另请参阅:setViewBox() 和 viewBoxF()。
© 2024 The Qt Company Ltd. 本文档中包含的文档贡献享有各自所有者的版权。本提供的文档根据自由软件基金会发布的《GNU自由文档许可证》版本1.3的条款进行许可。Qt及其相关标志是The Qt Company Ltd.在芬兰和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。