PySide6.QtSvg.QSvgRenderer¶
- class QSvgRenderer¶
QSvgRenderer类用于将 SVG 文件的内容绘制到绘图设备上。更多…概要¶
属性¶
animationEnabledᅟ- 如果SVG是动画的,是否应该运行动画aspectRatioModeᅟ- 渲染如何遵循SVG视图框的宽高比framesPerSecondᅟ- 每秒显示的帧数viewBoxᅟ- 指定文档可见区域的矩形,使用逻辑坐标
方法¶
def
__init__()def
animated()def
currentFrame()def
defaultSize()def
elementExists()def
isValid()def
options()def
setOptions()def
setViewBox()def
viewBox()def
viewBoxF()
插槽¶
信号¶
def
repaintNeeded()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
使用
QSvgRenderer,可缩放矢量图形(SVG)可以渲染到任何 QPaintDevice 子类上,包括 QWidget、QImage 和 QGLWidget。QSvgRenderer提供了一个支持SVG渲染基本功能的API,例如加载和渲染静态绘图,以及更多交互功能如动画。由于渲染是使用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时,属性可以直接使用,否则通过访问器函数使用。- property animationEnabledᅟ: bool¶
此属性决定如果SVG是动画的,动画是否应该运行。
将属性设置为 false 会停止动画计时器。将属性设置为 true 会启动动画计时器,前提是 SVG 包含动画元素。
如果SVG没有动画效果,该属性将不会产生任何影响。否则,该属性默认为true。
另请参阅
- Access functions:
- property aspectRatioModeᅟ: Qt.AspectRatioMode¶
此属性控制渲染如何遵循SVG视图框的宽高比。
接受的模式有:
Qt::IgnoreAspectRatio(默认):忽略宽高比,渲染内容会拉伸以适应目标边界。
Qt::KeepAspectRatio: 渲染居中并在目标边界内尽可能大,同时保持宽高比。
- Access functions:
- property currentFrameᅟ: int¶
- Access functions:
- property framesPerSecondᅟ: int¶
此属性保存要显示的每秒帧数。
如果当前文档没有动画,每秒帧数为0。
另请参阅
- Access functions:
- property optionsᅟ: Combination of QtSvg.Option¶
此属性包含一组
Option标志,可用于启用或禁用SVG文件解析和渲染的各种功能。为了使此属性生效,必须在执行
load()之前设置此属性。请注意,带有SVG源参数的构造函数将在构造期间执行加载。另请参阅
- Access functions:
此属性保存指定文档可见区域的矩形,使用逻辑坐标。
- Access functions:
使用给定的
parent构造一个新的渲染器。- __init__(contents[, parent=None])
- Parameters:
内容 –
QXmlStreamReaderparent –
QObject
使用给定的
parent构造一个新的渲染器,并使用contents指定的流读取器加载SVG数据。- __init__(contents[, parent=None])
- Parameters:
内容 –
QByteArrayparent –
QObject
使用给定的
parent构造一个新的渲染器,并从contents指定的字节数组中加载SVG数据。- __init__(filename[, parent=None])
- Parameters:
filename – str
parent –
QObject
使用给定的
parent构造一个新的渲染器,并加载指定filename的SVG文件内容。- animated()¶
- Return type:
布尔
如果当前文档包含动画元素,则返回 true;否则返回 false。
另请参阅
- animationDuration()¶
- Return type:
整数
- aspectRatioMode()¶
- Return type:
另请参阅
属性
aspectRatioModeᅟ的获取器。返回具有给定
id的项目的边界矩形。父元素的变换矩阵不会影响元素的边界。- currentFrame()¶
- Return type:
整数
属性
currentFrameᅟ的获取器。返回文档内容的默认大小。
- elementExists(id)¶
- Parameters:
id – str
- Return type:
布尔
如果当前解析的SVG文件中存在具有给定
id的元素并且是可渲染元素,则返回true。注意:此方法仅对可以渲染的元素返回true。这意味着被视为填充/描边样式属性一部分的元素,例如即使标记有“id”属性的radialGradients,也不会被此方法找到。
- framesPerSecond()¶
- Return type:
整数
另请参阅
属性
framesPerSecondᅟ的获取器。- isAnimationEnabled()¶
- Return type:
布尔
属性
animationEnabledᅟ的获取器。- isValid()¶
- Return type:
布尔
如果存在有效的当前文档,则返回 true;否则返回 false。
- load(contents)¶
- Parameters:
内容 –
QXmlStreamReader- Return type:
布尔
加载指定的SVG到
contents中,如果内容成功解析则返回true;否则返回false。读取器将从其当前位置开始使用。如果
contents是null,则行为未定义。- load(contents)
- Parameters:
内容 –
QByteArray- Return type:
布尔
加载指定的SVG格式
contents,如果内容成功解析则返回true;否则返回false。- load(filename)
- Parameters:
文件名 – str
- Return type:
布尔
加载由
filename指定的SVG文件,如果内容成功解析则返回true;否则返回false。属性
optionsᅟ的获取器。使用给定的
painter渲染当前文档或动画文档的当前帧。使用给定的
painter在指定的bounds内渲染当前文档或动画文档的当前帧。如果bounds不为空,输出将缩放以填充它,忽略SVG所暗示的任何宽高比。使用给定的
painter在指定的bounds上渲染具有elementId的元素。如果未指定边界矩形,则SVG元素将映射到整个绘图设备。- repaintNeeded()¶
每当文档的渲染需要更新时,通常会发出此信号,通常用于动画目的。
- setAnimationEnabled(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
animationEnabledᅟ的设置器。- setAspectRatioMode(mode)¶
- Parameters:
模式 –
AspectRatioMode
另请参阅
属性
aspectRatioModeᅟ的设置器。- setCurrentFrame(arg__1)¶
- Parameters:
arg__1 – 整数
属性
currentFrameᅟ的设置器。设置渲染器创建时将使用的选项标志为
flags。默认情况下,没有设置任何标志。在运行时,可以通过QT_SVG_DEFAULT_OPTIONS环境变量来覆盖此设置。
- setFramesPerSecond(num)¶
- Parameters:
num – 整数
另请参阅
属性
framesPerSecondᅟ的设置器。属性
optionsᅟ的设置器。- setViewBox(viewbox)
- Parameters:
viewbox –
QRectF
属性
viewBoxᅟ的设置器。- transformForElement(id)¶
- Parameters:
id – str
- Return type:
返回具有给定
id的元素的变换矩阵。该矩阵是元素父级变换的乘积。不包括元素本身的变换。要找到元素在逻辑坐标中的边界矩形,您可以将矩阵应用于从
boundsOnElement()返回的矩形。另请参阅
返回
viewBoxF().toRect()。另请参阅
属性
viewBoxᅟ的获取器。