- class QSvgRenderer#
类
QSvgRenderer
用于将 SVG 文件的內容绘制到绘制设备上。 更多…摘要#
属性#
animationEnabledᅟ
- 是否运行动画,如果 SVG 是动画的aspectRatioModeᅟ
- 如何渲染适应 SVG 视口纵横比framesPerSecondᅟ
- 每秒显示的帧数viewBoxᅟ
- 由逻辑坐标指定的文档可视区域矩形
方法#
def
__init__()
定义
animated()
定义
isValid()
定义
options()
定义
setOptions()
定义
setViewBox()
定义
viewBox()
定义
viewBoxF()
槽(Slots)#
信号(Signals)#
注释
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式来告诉我们。
详细说明#
使用
QSvgRenderer
,可以将可缩放矢量图形(SVG)渲染到任何QPaintDevice的子类,包括QWidget、QImage和QGLWidget。QSvgRenderer
提供了一个API,支持SVG渲染的基本功能,如加载和渲染静态图形,以及更交互式的功能,如动画。由于渲染是通过QPainter完成的,因此SVG图形可以渲染在任何QPaintDevice的子类上。SVG图形在构造
QSvgRenderer
时加载,或者稍后使用load()
函数加载。数据可以是直接提供的序列化XML,也可以是用文件名间接提供的。如果已加载有效的文件,无论是当渲染器被构造时还是在稍后的某个时间,isValid()
将返回true;否则返回false。QSvgRenderer
提供了render()
槽来使用指定的画家渲染当前文档,或动画文档的当前帧。defaultSize()
函数提供了渲染当前加载的SVG文件所需空间的信息。对于需要向其父布局提供大小提示的画布设备,如QWidget,这很有用。图形的默认大小可能与其可视区域不同,使用viewBox
属性找到。支持动画SVG图形,可以使用简单的函数和属性进行控制。
animated()
函数指示图形是否包含动画信息。包含动画的属性
framesPerSecond
包含动画播放的速率。
最后,
QSvgRenderer
类提供repaintNeeded()
信号,每当文档的渲染需要更新时发出。注释
属性可以在
from __feature__ import true_property
使用时直接使用,否则通过访问器函数使用。- 属性animationEnabled: bool#
该属性表示是否运行动画(如果SVG是动态的话)。
将此属性设置为false将停止动画计时器。如果SVG包含动画元素,则将此属性设置为false将启动动画计时器。
如果SVG没有动画,则此属性不会有任何作用。否则,默认为true。
另请参阅
- 属性aspectRatioMode: Qt.AspectRatioMode#
该属性表示渲染如何遵守SVG视图框的宽高比。
接受的模式:
Qt::IgnoreAspectRatio(默认):忽略宽高比,渲染扩展到目标边界。
Qt::KeepAspectRatio:渲染居中,并在保持宽高比的前提下尽可能放大,以适应目标边界。
- 属性currentFrame: int#
- 属性framesPerSecond: int#
该属性表示要显示的每秒帧数。
如果当前文档不是动态的,每秒帧数为0。
另请参阅
- 属性options: QtSvg.Option 组合#
该属性包含一组
Option
标志,可以用来启用或禁用SVG文件解析和渲染的各种功能。在调用任何加载函数之前设置此属性,以改变
QSvgRenderer
的行为。默认情况下,不设置任何标志。
- 访问函数
此属性表示文档在逻辑坐标下可见区域的矩形。
- 访问函数
- __init__(contents[, parent=None])#
- 参数:
contents –
QXmlStreamReader
parent –
QObject
使用指定的
parent
构建一个新的渲染器,并通过contents
指定的流读取器加载SVG数据。- __init__(contents[, parent=None])
- 参数:
contents –
QByteArray
parent –
QObject
使用指定的
parent
构建一个新的渲染器,并从由contents
指定的字节数组加载SVG数据。- __init__(filename[, parent=None])
- 参数:
filename – str
parent –
QObject
使用指定的
parent
构建一个新的渲染器,并加载具有指定filename
的SVG文件内容。- __init__([parent=None])
- 参数:
parent –
QObject
使用指定的
parent
构建一个新的渲染器。- animated()#
- 返回类型:
bool
如果当前文档包含动画元素,则返回true;否则返回false。
另请参阅
- animationDuration()#
- 返回类型:
int
- aspectRatioMode()#
- 返回类型:
另请参阅
属性
aspectRatioModeᅟ
的获取器。返回具有给定
id
的项目的边界矩形。父元素的变换矩阵不影响元素的边界。- currentFrame()#
- 返回类型:
int
属性
currentFrame
的读取器。返回文档内容的默认大小。
- elementExists(id)#
- 参数:
id – str
- 返回类型:
bool
如果目前解析的SVG文件中存在具有给定
id
且可渲染的元素,则返回 true。注意:此方法仅对可渲染的元素返回 true,这意味着被视为填充/描边样式属性一部分的元素,例如径向渐变,尽管带有“id”属性,但仍不会被此方法找到。
- framesPerSecond()#
- 返回类型:
int
另请参阅
属性
framesPerSecond
的读取器。- isAnimationEnabled()#
- 返回类型:
bool
属性
animationEnabled
的读取器。- isValid()#
- 返回类型:
bool
如果有有效的当前文档,则返回 true;否则返回 false。
- load(filename)#
- 参数:
filename – str
- 返回类型:
bool
加载由
filename
指定的SVG文件,如果内容被成功解析,则返回 true;否则返回 false。- load(contents)
- 参数:
contents –
QXmlStreamReader
- 返回类型:
bool
加载指定的SVG内容
contents
,如果内容被成功解析,则返回 true;否则返回 false。将从当前位置开始使用读取器。如果
contents
是null
,则行为未定义。- load(contents)
- 参数:
contents –
QByteArray
- 返回类型:
bool
加载指定的SVG格式内容
contents
,如果内容被成功解析,则返回 true;否则返回 false。属性
options
的读取器。使用给定的
painter
渲染当前文档或动画文档的当前帧。使用给定的
painter
在指定的bounds
内渲染当前文档或动画文档的当前帧。如果bounds
不为空,输出将被缩放以填充它,忽略 SVG 所暗示的任何宽高比。使用给定的
painter
在指定的bounds
中渲染具有elementId
的给定元素。如果没有指定边界矩形,SVG 元素将映射到整个绘画设备。- repaintNeeded()#
每当文档渲染需要更新时,通常用于动画目的,都会发射此信号。
- setAnimationEnabled(enable)#
- 参数:
enable – bool
另请参阅
animationEnabled
属性的设置器。- setAspectRatioMode(mode)#
- 参数:
mode –
AspectRatioMode
另请参阅
aspectRatioMode
属性的设置器。- setCurrentFrame(arg__1)#
- 参数:
arg__1 – int
currentFrame
属性的设置器。- setFramesPerSecond(num)#
- 参数:
num – int
另请参阅
属性
framesPerSecond
的设置器。属性
options
的设置器。- setViewBox(viewbox)
- 参数:
viewbox –
QRectF
属性
viewBox
的设置器。- transformForElement(id)#
- 参数:
id – str
- 返回类型:
返回给定
id
的元素的变换矩阵。矩阵是元素父级变换的乘积。元素本身的变换不包括在内。要找到元素在逻辑坐标下的边界矩形,可以将矩阵应用到从
boundsOnElement
返回的矩形上。另请参阅
返回
viewBoxF
.toRect()。另请参阅
属性
viewBox
的获取器。