QGraphicsSvgItem Class Reference
[QtSvg module]
该QGraphicsSvgItem将类是QGraphicsItem可用于呈现的SVG文件的内容。More…
Methods
__init__ (self, QGraphicsItem parent = None)
__init__ (self, QString fileName, QGraphicsItem parent = None)
QRectF boundingRect (self)
QString elementId (self)
bool isCachingEnabled (self)
QSize maximumCacheSize (self)
paint (self, QPainter painter, QStyleOptionGraphicsItem option, QWidget widget = None)
QSvgRenderer renderer (self)
setCachingEnabled (self, bool)
setElementId (self, QString id)
setMaximumCacheSize (self, QSize size)
setSharedRenderer (self, QSvgRenderer renderer)
int type (self)
Detailed Description
该QGraphicsSvgItem将类是QGraphicsItem可用于呈现的SVG文件的内容。
QGraphicsSvgItem将提供渲染SVG文件的方式上QGraphicsView。 QGraphicsSvgItem将可以通过传递要呈现给它的构造的SVG文件或通过显式设置一个共享的创建QSvgRenderer就可以了。
请注意,设置QSvgRenderer如果使用的QGraphicsSvgItem将不会使该项目采取渲染的所有权,因此,setSharedRenderer( )方法,一要确保的寿命QSvgRenderer对象将至少只要该QGraphicsSvgItem将的。
QGraphicsSvgItem将提供经由setElementId渲染SVG文件的唯一部分的一种方法。如果setElementId( )方法被调用时,只有SVG元素(及其子女)具有传入ID将渲染器。这提供了选择性呈现包含多个离散元件的大的SVG文件的方便方法。例如,下面的代码将呈现从包含整个卡片组一个SVG文件只王牌:
[QSvgRenderer]($docs-qsvgrenderer.html) *renderer = new [QSvgRenderer]($docs-qsvgrenderer.html)(QLatin1String("SvgCardDeck.svg"));
QGraphicsSvgItem *black = new QGraphicsSvgItem();
QGraphicsSvgItem *red = new QGraphicsSvgItem();
black->setSharedRenderer(renderer);
black->setElementId(QLatin1String("black_joker"));
red->setSharedRenderer(renderer);
red->setElementId(QLatin1String("red_joker"));
该项目的大小可以通过设定setSize()的方法bounding rectangle或通过直接操作的项目变换矩阵。
默认情况下, SVG渲染使用缓存QGraphicsItem.DeviceCoordinateCache模式用来加快项目的显示。缓存可以通过传递被禁用QGraphicsItem.NoCache到QGraphicsItem.setCacheMode()方法。
Method Documentation
QGraphicsSvgItem.__init__ (self, QGraphicsItem parent = None)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造具有给定一个新的SVG项目parent。
QGraphicsSvgItem.__init__ (self, QString fileName, QGraphicsItem parent = None)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造具有给定一个新项目parent并载入SVG文件中的内容与指定fileName。
QRectF QGraphicsSvgItem.boundingRect (self)
从重新实现QGraphicsItem.boundingRect( ) 。
返回此项目的边界矩形。
QString QGraphicsSvgItem.elementId (self)
bool QGraphicsSvgItem.isCachingEnabled (self)
QSize QGraphicsSvgItem.maximumCacheSize (self)
[
QGraphicsSvgItem.paint (self, QPainter painter, QStyleOptionGraphicsItem option, QWidget widget = None)
]($docs-qsize.html)
QSvgRenderer QGraphicsSvgItem.renderer (self)
QGraphicsSvgItem.setCachingEnabled (self, bool)
QGraphicsSvgItem.setElementId (self, QString id)
QGraphicsSvgItem.setMaximumCacheSize (self, QSize size)
QGraphicsSvgItem.setSharedRenderer (self, QSvgRenderer renderer)
Sets renderer是一个共享QSvgRenderer该项目。通过使用此方法可以共享相同的QSvgRenderer在一些项目。这意味着该SVG文件将被解析一次。QSvgRenderer传递给这个方法有可能存在的,只要这个项目使用。
int QGraphicsSvgItem.type (self)
从重新实现QGraphicsItem.type( ) 。