class QSvgGenerator#

QSvgGenerator类提供了一个绘图设备,用于创建SVG图像。()更多

Inheritance diagram of PySide6.QtSvg.QSvgGenerator

概述#

属性#

方法#

注意

本文档可能包含从C++自动翻译到Python的代码段。我们始终欢迎对该代码段翻译的贡献。如果您发现翻译存在错误,也可以在https:/bugreports.qt.io/projects/PYSIDE创建工单告诉我们。

详细描述#

警告

本节包含从C++自动翻译到Python的代码段,可能存在错误。

此绘图设备代表一个可缩放矢量图形(SVG)绘制。像QPrinter一样,它设计为一个只写设备,以特定格式生成输出。

要写入SVG文件,首先需要通过设置fileNameoutputDevice属性来配置输出。通常需要通过设置size属性来指定绘图的大小,在某些情况下,如果绘图将被包含在其他内容中,还需要设置viewBox属性。

generator = QSvgGenerator()
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对象在当前类的实例上绘制

painter = QPainter()
painter.begin(generator)            ...

painter.end()

绘制的方式与任何其他绘图设备相同。但是,必须使用QPainter::begin()和end()显式地开始和结束在设备上的绘制。

class SvgVersion#

此枚举描述了生成器的SVG输出版本。

常量

描述

QSvgGenerator.SvgVersion.SvgTiny12

生成的文档遵循SVG Tiny 1.2规范。

QSvgGenerator.SvgVersion.Svg11

生成的文档遵循SVG 1.1规范。

自6.5版新加入。

注意

当使用from __feature__ import true_property时,可以直接使用属性,否则通过访问器函数使用。

property description: str#

此属性包含生成的SVG图的描述。

另请参阅

title

访问函数
property fileName: str#

此属性包含生成SVG图的目标文件名。

另请参阅

outputDevice

访问函数
property outputDevice: QIODevice#

此属性包含生成SVG图的输出设备。

如果同时指定了输出设备和文件名,则输出设备具有优先级。

另请参阅

文件名

访问函数
属性 resolution: int#

该属性保存了所生成输出的分辨率。

分辨率以每英寸点数(dpi)指定,用于计算SVG图形的物理大小。

另请参阅

size viewBox

访问函数
属性 size: QSize#

该属性保存了所生成SVG图形的大小。

默认情况下,此属性设置为 QSize(-1, -1),表示生成器不应输出 <svg> 元素的宽度和高度属性。

注意

当生成器上有活动的 QPainter 时,无法更改此属性。

另请参阅

viewBox size

访问函数
属性 title: str#

该属性保存了所生成SVG图形的标题。

另请参阅

description

访问函数
属性 viewBox: QRectF#

该属性保存了所生成SVG图形的视图框。

默认情况下,此属性设置为 QRect(0, 0, -1, -1),表示生成器不应输出 <svg> 元素的视图框(viewBox)属性。

注意

当生成器上有活动的 QPainter 时,无法更改此属性。

另请参阅

viewBox size resolution

访问函数
__init__(version)#
参数:

versionSvgVersion

使用SVG版本version构建一个新的生成器。

__init__()

使用SVG Tiny 1.2配置文件构建一个新的生成器。

description()#
返回类型:

str

另请参阅

setDescription()

属性 description 的获取器。

fileName()#
返回类型:

str

另请参阅

setFileName()

属性 fileName 的获取器。

outputDevice()#
返回类型:

QIODevice

另请参阅

setOutputDevice()

属性 outputDevice 的获取器。

resolution()#
返回类型:

int

另请参阅

setResolution()

属性 resolution 的获取器。

setDescription(description)#
参数:

description – str

另请参阅

description()

属性 description 的设置器。

setFileName(fileName)#
参数:

fileName – str

另请参阅

fileName()

属性 fileName 的设置器。

setOutputDevice(outputDevice)#
参数:

outputDeviceQIODevice

另请参阅

outputDevice()

属性 outputDevice 的设置器。

setResolution(dpi)#
参数:

dpi – int

另请参阅

resolution()

属性 resolution 的设置器。

setSize(size)#
参数:

大小QSize

另请参阅

size()

属性 size 的设置器。

setTitle(title)#
参数:

标题 – str

另请参阅

title()

属性 title 的设置器。

setViewBox(viewBox)#
参数:

视口QRect

另请参阅

viewBox()

setViewBox(viewBox)
参数:

视口QRectF

属性 viewBox 的设置器。

size()#
返回类型:

QSize

另请参阅

setSize()

属性 size 的获取器。

svgVersion()#
返回类型:

SvgVersion

返回生成此生成器的 SVG 文档的版本。

title()#
返回类型:

str

另请参阅

setTitle()

属性 title 的获取器。

viewBox()#
返回类型:

QRect

返回 viewBoxF().toRect().

另请参阅

setViewBox() viewBoxF()

viewBoxF()#
返回类型:

QRectF

属性 viewBox 的获取器。