<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qgraphicssvgitem.cpp --> <title>QGraphicsSvgItem Class | Qt SVG 5.11</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td ><a href="../qtdoc/index.html">Qt 5.11</a></td><td ><a href="qtsvg-index.html">Qt SVG</a></td><td ><a href="qtsvg-module.html">C++ Classes</a></td><td >QGraphicsSvgItem</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right">Qt 5.11.2 Reference Documentation</td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-types">Public Types</a></li> <li class="level1"><a href="#properties">Properties</a></li> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#reimplemented-public-functions">Reimplemented Public Functions</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QGraphicsSvgItem Class</h1> <!-- $$$QGraphicsSvgItem-brief --> <p>The <a href="qgraphicssvgitem.html">QGraphicsSvgItem</a> class is a <a href="../qtwidgets/qgraphicsitem.html">QGraphicsItem</a> that can be used to render the contents of SVG files. <a href="#details">More...</a></p> <!-- @@@QGraphicsSvgItem --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QGraphicsSvgItem></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += svg</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 4.2</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <a href="../qtwidgets/qgraphicsobject.html">QGraphicsObject</a></td></tr></table></div><ul> <li><a href="qgraphicssvgitem-members.html">List of all members, including inherited members</a></li> <li><a href="qgraphicssvgitem-obsolete.html">Obsolete members</a></li> </ul> <a name="public-types"></a> <h2 id="public-types">Public Types</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#anonymous-enum">anonymous</a></b> { Type }</td></tr> </table></div> <a name="properties"></a> <h2 id="properties">Properties</h2> <ul> <li class="fn"><b><a href="qgraphicssvgitem.html#elementId-prop">elementId</a></b> : QString</li> <li class="fn"><b><a href="qgraphicssvgitem.html#maximumCacheSize-prop">maximumCacheSize</a></b> : QSize</li> </ul> <ul> <li class="fn">12 properties inherited from <a href="../qtwidgets/qgraphicsobject.html#properties">QGraphicsObject</a></li> <li class="fn">1 property inherited from <a href="../qtcore/qobject.html#properties">QObject</a></li> </ul> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#QGraphicsSvgItem">QGraphicsSvgItem</a></b>(QGraphicsItem *<i>parent</i> = nullptr)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#QGraphicsSvgItem-1">QGraphicsSvgItem</a></b>(const QString &<i>fileName</i>, QGraphicsItem *<i>parent</i> = nullptr)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#elementId">elementId</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QSize </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#maximumCacheSize">maximumCacheSize</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QSvgRenderer *</td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#renderer">renderer</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#setElementId">setElementId</a></b>(const QString &<i>id</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#setMaximumCacheSize">setMaximumCacheSize</a></b>(const QSize &<i>size</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#setSharedRenderer">setSharedRenderer</a></b>(QSvgRenderer *<i>renderer</i>)</td></tr> </table></div> <a name="reimplemented-public-functions"></a> <h2 id="reimplemented-public-functions">Reimplemented Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> virtual QRectF </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#boundingRect">boundingRect</a></b>() const override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#paint">paint</a></b>(QPainter *<i>painter</i>, const QStyleOptionGraphicsItem *<i>option</i>, QWidget *<i>widget</i> = nullptr) override</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual int </td><td class="memItemRight bottomAlign"><b><a href="qgraphicssvgitem.html#type">type</a></b>() const override</td></tr> </table></div> <ul> <li class="fn">5 public functions inherited from <a href="../qtwidgets/qgraphicsobject.html#public-functions">QGraphicsObject</a></li> <li class="fn">176 public functions inherited from <a href="../qtwidgets/qgraphicsitem.html#public-functions">QGraphicsItem</a></li> <li class="fn">34 public functions inherited from <a href="../qtcore/qobject.html#public-functions">QObject</a></li> </ul> <h3>Additional Inherited Members</h3> <ul> <li class="fn">1 public slot inherited from <a href="../qtcore/qobject.html#public-slots">QObject</a></li> <li class="fn">9 signals inherited from <a href="../qtwidgets/qgraphicsobject.html#signals">QGraphicsObject</a></li> <li class="fn">2 signals inherited from <a href="../qtcore/qobject.html#signals">QObject</a></li> <li class="fn">1 public variable inherited from <a href="../qtwidgets/qgraphicsobject.html#public-variables">QGraphicsObject</a></li> <li class="fn">1 public variable inherited from <a href="../qtcore/qobject.html#public-variables">QObject</a></li> <li class="fn">2 static public members inherited from <a href="../qtwidgets/qgraphicsobject.html#static-public-members">QGraphicsObject</a></li> <li class="fn">10 static public members inherited from <a href="../qtcore/qobject.html#static-public-members">QObject</a></li> <li class="fn">1 protected function inherited from <a href="../qtwidgets/qgraphicsobject.html#protected-functions">QGraphicsObject</a></li> <li class="fn">24 protected functions inherited from <a href="../qtwidgets/qgraphicsitem.html#protected-functions">QGraphicsItem</a></li> <li class="fn">9 protected functions inherited from <a href="../qtcore/qobject.html#protected-functions">QObject</a></li> <li class="fn">1 protected slot inherited from <a href="../qtwidgets/qgraphicsobject.html#protected-slots">QGraphicsObject</a></li> <li class="fn">1 protected type inherited from <a href="../qtwidgets/qgraphicsitem.html#protected-variables">QGraphicsItem</a></li> <li class="fn">2 protected variables inherited from <a href="../qtcore/qobject.html#protected-variables">QObject</a></li> </ul> <a name="details"></a> <!-- $$$QGraphicsSvgItem-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qgraphicssvgitem.html">QGraphicsSvgItem</a> class is a <a href="../qtwidgets/qgraphicsitem.html">QGraphicsItem</a> that can be used to render the contents of SVG files.</p> <p><a href="qgraphicssvgitem.html">QGraphicsSvgItem</a> provides a way of rendering SVG files onto <a href="../qtwidgets/qgraphicsview.html">QGraphicsView</a>. <a href="qgraphicssvgitem.html">QGraphicsSvgItem</a> can be created by passing the SVG file to be rendered to its constructor or by explicit setting a shared <a href="qsvgrenderer.html">QSvgRenderer</a> on it.</p> <p>Note that setting <a href="qsvgrenderer.html">QSvgRenderer</a> on a <a href="qgraphicssvgitem.html">QGraphicsSvgItem</a> doesn't make the item take ownership of the renderer, therefore if using <a href="qgraphicssvgitem.html#setSharedRenderer">setSharedRenderer</a>() method one has to make sure that the lifetime of the <a href="qsvgrenderer.html">QSvgRenderer</a> object will be at least as long as that of the <a href="qgraphicssvgitem.html">QGraphicsSvgItem</a>.</p> <p><a href="qgraphicssvgitem.html">QGraphicsSvgItem</a> provides a way of rendering only parts of the SVG files via the <a href="qgraphicssvgitem.html#setElementId">setElementId</a>. If <a href="qgraphicssvgitem.html#setElementId">setElementId</a>() method is called, only the SVG element (and its children) with the passed id will be renderer. This provides a convenient way of selectively rendering large SVG files that contain a number of discrete elements. For example the following code renders only jokers from a SVG file containing a whole card deck:</p> <pre class="cpp"> <span class="type"><a href="qsvgrenderer.html">QSvgRenderer</a></span> <span class="operator">*</span>renderer <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qsvgrenderer.html">QSvgRenderer</a></span>(QLatin1String(<span class="string">"SvgCardDeck.svg"</span>)); <span class="type"><a href="qgraphicssvgitem.html#QGraphicsSvgItem">QGraphicsSvgItem</a></span> <span class="operator">*</span>black <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qgraphicssvgitem.html#QGraphicsSvgItem">QGraphicsSvgItem</a></span>(); <span class="type"><a href="qgraphicssvgitem.html#QGraphicsSvgItem">QGraphicsSvgItem</a></span> <span class="operator">*</span>red <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qgraphicssvgitem.html#QGraphicsSvgItem">QGraphicsSvgItem</a></span>(); black<span class="operator">-</span><span class="operator">></span>setSharedRenderer(renderer); black<span class="operator">-</span><span class="operator">></span>setElementId(QLatin1String(<span class="string">"black_joker"</span>)); red<span class="operator">-</span><span class="operator">></span>setSharedRenderer(renderer); red<span class="operator">-</span><span class="operator">></span>setElementId(QLatin1String(<span class="string">"red_joker"</span>)); </pre> <p>Size of the item can be set via direct manipulation of the items transformation matrix.</p> <p>By default the SVG rendering is cached using <a href="../qtwidgets/qgraphicsitem.html#CacheMode-enum">QGraphicsItem::DeviceCoordinateCache</a> mode to speedup the display of items. Caching can be disabled by passing <a href="../qtwidgets/qgraphicsitem.html#CacheMode-enum">QGraphicsItem::NoCache</a> to the <a href="../qtwidgets/qgraphicsitem.html#setCacheMode">QGraphicsItem::setCacheMode</a>() method.</p> </div> <p><b>See also </b><a href="qsvgwidget.html">QSvgWidget</a>, <a href="qtsvg-module.html">Qt SVG C++ Classes</a>, <a href="../qtwidgets/qgraphicsitem.html">QGraphicsItem</a>, and <a href="../qtwidgets/qgraphicsview.html">QGraphicsView</a>.</p> <!-- @@@QGraphicsSvgItem --> <div class="types"> <h2>Member Type Documentation</h2> <!-- $$$anonymous$$$Type --> <h3 class="fn" id="anonymous-enum"><a name="anonymous-enum"></a>enum QGraphicsSvgItem::<span class="name">anonymous</span></h3> <!-- @@@anonymous --> </div> <div class="prop"> <h2>Property Documentation</h2> <!-- $$$elementId-prop$$$elementId$$$setElementIdconstQString& --> <h3 class="fn" id="elementId-prop"><a name="elementId-prop"></a><span class="name">elementId</span> : <span class="type"><a href="../qtcore/qstring.html">QString</a></span></h3> <p>This property holds the element's XML ID.</p> <p>This property was introduced in Qt 4.6.</p> <p><b>Access functions:</b></p> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft topAlign rightAlign"> QString </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qgraphicssvgitem.html#elementId">elementId</a></b></span>() const</td></tr> <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qgraphicssvgitem.html#setElementId">setElementId</a></b></span>(const QString &<i>id</i>)</td></tr> </table></div> <!-- @@@elementId --> <!-- $$$maximumCacheSize-prop$$$maximumCacheSize$$$setMaximumCacheSizeconstQSize& --> <h3 class="fn" id="maximumCacheSize-prop"><a name="maximumCacheSize-prop"></a><span class="name">maximumCacheSize</span> : <span class="type"><a href="../qtcore/qsize.html">QSize</a></span></h3> <p>This property holds the maximum size of the device coordinate cache for this item.</p> <p>This property was introduced in Qt 4.6.</p> <p><b>Access functions:</b></p> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft topAlign rightAlign"> QSize </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qgraphicssvgitem.html#maximumCacheSize">maximumCacheSize</a></b></span>() const</td></tr> <tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b><a href="qgraphicssvgitem.html#setMaximumCacheSize">setMaximumCacheSize</a></b></span>(const QSize &<i>size</i>)</td></tr> </table></div> <!-- @@@maximumCacheSize --> </div> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QGraphicsSvgItem[overload1]$$$QGraphicsSvgItemQGraphicsItem* --> <h3 class="fn" id="QGraphicsSvgItem"><a name="QGraphicsSvgItem"></a>QGraphicsSvgItem::<span class="name">QGraphicsSvgItem</span>(<span class="type"><a href="../qtwidgets/qgraphicsitem.html#QGraphicsItem">QGraphicsItem</a></span> *<i>parent</i> = nullptr)</h3> <p>Constructs a new SVG item with the given <i>parent</i>.</p> <!-- @@@QGraphicsSvgItem --> <!-- $$$QGraphicsSvgItem$$$QGraphicsSvgItemconstQString&QGraphicsItem* --> <h3 class="fn" id="QGraphicsSvgItem-1"><a name="QGraphicsSvgItem-1"></a>QGraphicsSvgItem::<span class="name">QGraphicsSvgItem</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>fileName</i>, <span class="type"><a href="../qtwidgets/qgraphicsitem.html#QGraphicsItem">QGraphicsItem</a></span> *<i>parent</i> = nullptr)</h3> <p>Constructs a new item with the given <i>parent</i> and loads the contents of the SVG file with the specified <i>fileName</i>.</p> <!-- @@@QGraphicsSvgItem --> <!-- $$$boundingRect[overload1]$$$boundingRect --> <h3 class="fn" id="boundingRect"><a name="boundingRect"></a><code>[override virtual] </code><span class="type"><a href="../qtcore/qrectf.html">QRectF</a></span> QGraphicsSvgItem::<span class="name">boundingRect</span>() const</h3> <p>Reimplemented from <a href="../qtwidgets/qgraphicsitem.html#boundingRect">QGraphicsItem::boundingRect</a>().</p> <p>Returns the bounding rectangle of this item.</p> <!-- @@@boundingRect --> <!-- $$$elementId --> <h3 class="fn" id="elementId"><a name="elementId"></a><span class="type"><a href="../qtcore/qstring.html">QString</a></span> QGraphicsSvgItem::<span class="name">elementId</span>() const</h3> <p>Returns the XML ID the element that is currently being rendered. Returns an empty string if the whole file is being rendered.</p> <p><b>Note:</b> Getter function for property <a href="qgraphicssvgitem.html#elementId-prop">elementId</a>. </p><p><b>See also </b><a href="qgraphicssvgitem.html#setElementId">setElementId</a>().</p> <!-- @@@elementId --> <!-- $$$maximumCacheSize --> <h3 class="fn" id="maximumCacheSize"><a name="maximumCacheSize"></a><span class="type"><a href="../qtcore/qsize.html">QSize</a></span> QGraphicsSvgItem::<span class="name">maximumCacheSize</span>() const</h3> <p>Returns the current maximum size of the device coordinate cache for this item. If the item is cached using <a href="../qtwidgets/qgraphicsitem.html#CacheMode-enum">QGraphicsItem::DeviceCoordinateCache</a> mode, caching is bypassed if the extension of the item in device coordinates is larger than the maximum size.</p> <p>The default maximum cache size is 1024x768. <a href="../qtgui/qpixmapcache.html#cacheLimit">QPixmapCache::cacheLimit</a>() gives the cumulative bounds of the whole cache, whereas maximumCacheSize() refers to a maximum cache size for this particular item.</p> <p><b>Note:</b> Getter function for property <a href="qgraphicssvgitem.html#maximumCacheSize-prop">maximumCacheSize</a>. </p><p><b>See also </b><a href="qgraphicssvgitem.html#setMaximumCacheSize">setMaximumCacheSize</a>() and <a href="../qtwidgets/qgraphicsitem.html#cacheMode">QGraphicsItem::cacheMode</a>().</p> <!-- @@@maximumCacheSize --> <!-- $$$paint[overload1]$$$paintQPainter*constQStyleOptionGraphicsItem*QWidget* --> <h3 class="fn" id="paint"><a name="paint"></a><code>[override virtual] </code><span class="type">void</span> QGraphicsSvgItem::<span class="name">paint</span>(<span class="type"><a href="../qtgui/qpainter.html">QPainter</a></span> *<i>painter</i>, const <span class="type"><a href="../qtwidgets/qstyleoptiongraphicsitem.html">QStyleOptionGraphicsItem</a></span> *<i>option</i>, <span class="type"><a href="../qtwidgets/qwidget.html">QWidget</a></span> *<i>widget</i> = nullptr)</h3> <p>Reimplemented from <a href="../qtwidgets/qgraphicsitem.html#paint">QGraphicsItem::paint</a>().</p> <!-- @@@paint --> <!-- $$$renderer[overload1]$$$renderer --> <h3 class="fn" id="renderer"><a name="renderer"></a><span class="type"><a href="qsvgrenderer.html">QSvgRenderer</a></span> *QGraphicsSvgItem::<span class="name">renderer</span>() const</h3> <p>Returns the currently use <a href="qsvgrenderer.html">QSvgRenderer</a>.</p> <!-- @@@renderer --> <!-- $$$setElementId --> <h3 class="fn" id="setElementId"><a name="setElementId"></a><span class="type">void</span> QGraphicsSvgItem::<span class="name">setElementId</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &<i>id</i>)</h3> <p>Sets the XML ID of the element to <i>id</i>.</p> <p><b>Note:</b> Setter function for property <a href="qgraphicssvgitem.html#elementId-prop">elementId</a>. </p><p><b>See also </b><a href="qgraphicssvgitem.html#elementId">elementId</a>().</p> <!-- @@@setElementId --> <!-- $$$setMaximumCacheSize --> <h3 class="fn" id="setMaximumCacheSize"><a name="setMaximumCacheSize"></a><span class="type">void</span> QGraphicsSvgItem::<span class="name">setMaximumCacheSize</span>(const <span class="type"><a href="../qtcore/qsize.html">QSize</a></span> &<i>size</i>)</h3> <p>Sets the maximum device coordinate cache size of the item to <i>size</i>. If the item is cached using <a href="../qtwidgets/qgraphicsitem.html#CacheMode-enum">QGraphicsItem::DeviceCoordinateCache</a> mode, caching is bypassed if the extension of the item in device coordinates is larger than <i>size</i>.</p> <p>The cache corresponds to the <a href="../qtgui/qpixmap.html">QPixmap</a> which is used to cache the results of the rendering. Use <a href="../qtgui/qpixmapcache.html#setCacheLimit">QPixmapCache::setCacheLimit</a>() to set limitations on the whole cache and use setMaximumCacheSize() when setting cache size for individual items.</p> <p><b>Note:</b> Setter function for property <a href="qgraphicssvgitem.html#maximumCacheSize-prop">maximumCacheSize</a>. </p><p><b>See also </b><a href="qgraphicssvgitem.html#maximumCacheSize">maximumCacheSize</a>() and <a href="../qtwidgets/qgraphicsitem.html#cacheMode">QGraphicsItem::cacheMode</a>().</p> <!-- @@@setMaximumCacheSize --> <!-- $$$setSharedRenderer[overload1]$$$setSharedRendererQSvgRenderer* --> <h3 class="fn" id="setSharedRenderer"><a name="setSharedRenderer"></a><span class="type">void</span> QGraphicsSvgItem::<span class="name">setSharedRenderer</span>(<span class="type"><a href="qsvgrenderer.html">QSvgRenderer</a></span> *<i>renderer</i>)</h3> <p>Sets <i>renderer</i> to be a shared <a href="qsvgrenderer.html">QSvgRenderer</a> on the item. By using this method one can share the same <a href="qsvgrenderer.html">QSvgRenderer</a> on a number of items. This means that the SVG file will be parsed only once. <a href="qsvgrenderer.html">QSvgRenderer</a> passed to this method has to exist for as long as this item is used.</p> <!-- @@@setSharedRenderer --> <!-- $$$type[overload1]$$$type --> <h3 class="fn" id="type"><a name="type"></a><code>[override virtual] </code><span class="type">int</span> QGraphicsSvgItem::<span class="name">type</span>() const</h3> <p>Reimplemented from <a href="../qtwidgets/qgraphicsitem.html#type">QGraphicsItem::type</a>().</p> <!-- @@@type --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2018 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>