Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QSvgRenderer Class Reference
[QtSvg module]

该QSvgRenderer类用于绘制SVG文件的内容复制到绘图设备。More...

继承QObject

Methods

Qt Signals


Detailed Description

该QSvgRenderer类用于绘制SVG文件的内容复制到绘图设备。

使用QSvgRenderer ,可伸缩矢量图形(SVG )可以渲染到任何QPaintDevice子类,包括QWidgetQImageQGLWidget

QSvgRenderer提供了一个支持SVG渲染的基本功能,如加载和渲染静态的图纸,和喜欢动漫的更多互动功能的API。由于使用所执行的渲染QPainter, SVG图形可以在任意子类被渲染QPaintDevice

SVG绘图要么加载时QSvgRenderer构造,或加载后使用load()函数。数据是提供直接作为序列化的XML ,或间接使用文件名。如果一个有效的文件已经被加载,或者当渲染器构造或在一段时间后,isValid( )返回True ,否则返回False 。 QSvgRenderer提供render()槽呈现当前文件或动画文件的当前帧中,使用给定的画家。

defaultSize()函数,提供了有关的空间来呈现当前加载的SVG文件所需要的量的信息。这是用于涂料的设备,如可使用QWidget,往往需要提供尺寸暗示给其父布局。图形的默认大小可以从它的可视面积,发现使用不同的viewBox属性。

动画SVG图形的支持,并且可以用函数和属性的简单集合进行控制:

最后, QSvgRenderer类提供了repaintNeeded(),它被发射每当需要更新的文件的再现信号。


Method Documentation

QSvgRenderer.__init__ (self, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个新的渲染器给定的parent

QSvgRenderer.__init__ (self, QString filename, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个新的渲染器给定的parent并载入SVG文件中的内容与指定filename

QSvgRenderer.__init__ (self, QByteArray contents, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个新的渲染器给定的parent并加载从指定的字节数组中的SVG数据contents

QSvgRenderer.__init__ (self, QXmlStreamReader contents, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个新的渲染器给定的parent并且通过使用指定的流读取器加载SVG数据contents

此功能被引入Qt的4.5 。

bool QSvgRenderer.animated (self)

返回True如果当前文档包含动画元素,否则返回False 。

See also framesPerSecond( ) 。

int QSvgRenderer.animationDuration (self)

QRectF QSvgRenderer.boundsOnElement (self, QString id)

返回边界项目的矩形与给定id。父元素的变换矩阵是不影响该元素的边界。

这个函数中引入了Qt 4.2中。

See also matrixForElement( ) 。

int QSvgRenderer.currentFrame (self)

QSize QSvgRenderer.defaultSize (self)

返回的文档内容的默认大小。

bool QSvgRenderer.elementExists (self, QString id)

返回True如果与元素给定的id存在于当前解析SVG文件,是一个可渲染的元素。

注意:此方法仅适用于可渲染的元素返回True 。这意味着被视为填充/描边样式属性的一部分元素,例如:甚至强硬的标有“身份证” radialGradients属性不会用这种方法发现。

这个函数中引入了Qt 4.2中。

int QSvgRenderer.framesPerSecond (self)

bool QSvgRenderer.isValid (self)

返回True如果有一个有效的当前文档,否则返回False 。

bool QSvgRenderer.load (self, QString filename)

这种方法也是一个Qt槽与C + +的签名bool load(const QString&)

通过加载指定的SVG文件filename,返回True,如果内容被成功解析,否则返回False 。

bool QSvgRenderer.load (self, QByteArray contents)

这种方法也是一个Qt槽与C + +的签名bool load(const QByteArray&)

加载指定的SVG格式contents,返回True,如果内容被成功解析,否则返回False 。

bool QSvgRenderer.load (self, QXmlStreamReader contents)

这种方法也是一个Qt槽与C + +的签名bool load(QXmlStreamReader *)

加载指定的SVG中contents,返回True,如果内容被成功解析,否则返回False 。

读者将用于从那里它目前的位置。如果contents is null,行为是未定义的。

此功能被引入Qt的4.5 。

QMatrix QSvgRenderer.matrixForElement (self, QString id)

返回该元素的变换矩阵与给定id。该矩阵元素的父母转型的产物。不包括元素本身的转型。

要查找在逻辑坐标元素的边框,你可以申请矩阵从返回的矩形boundsOnElement( ) 。

这个函数中引入了Qt 4.2中。

See also boundsOnElement( ) 。

QSvgRenderer.render (self, QPainter p)

这种方法也是一个Qt槽与C + +的签名void render(QPainter *)

呈现当前文档或动画文件的当前帧,使用给定的painter

QSvgRenderer.render (self, QPainter p, QRectF bounds)

这种方法也是一个Qt槽与C + +的签名void render(QPainter *,const QRectF&)

呈现当前文档或动画文件的当前帧,使用给定的painter在指定的bounds在画家。如果未指定边界矩形是SVG文件被映射到整个绘图设备。

QSvgRenderer.render (self, QPainter painter, QString elementId, QRectF bounds = QRectF())

这种方法也是一个Qt槽与C + +的签名void render(QPainter *,const QString&,const QRectF& = QRectF())

呈现给定的元素与elementId使用给定的painter在指定的bounds。如果未指定边界矩形是SVG元素映射到整个绘图设备。

QSvgRenderer.setCurrentFrame (self, int)

QSvgRenderer.setFramesPerSecond (self, int num)

QSvgRenderer.setViewBox (self, QRect viewbox)

QSvgRenderer.setViewBox (self, QRectF viewbox)

QRect QSvgRenderer.viewBox (self)

Returns viewBoxF( ) 。 toRect ( ) 。

See also setViewBox()和viewBoxF( ) 。

QRectF QSvgRenderer.viewBoxF (self)


Qt Signal Documentation

void repaintNeeded ()

这是该信号的默认超载。

这个信号被发射每当需要更新时,通常为动画的目的文件的呈现。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5