/usr/share/qt5/doc/qtsvg/qsvgrenderer.html is in qtsvg5-doc-html 5.3.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qsvgrenderer.cpp -->
<title>QSvgRenderer Class | QtSvg 5.3</title>
<link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
<div class="main">
<div class="main-rounded">
<div class="navigationbar">
<ul>
<li>Qt 5.3</li>
<li><a href="qtsvg-index.html">Qt SVG</a></li>
<li><a href="qtsvg-module.html">C++ Classes</a></li>
<li>QSvgRenderer</li>
<li id="buildversion">
Qt 5.3.2 Reference Documentation</li>
</ul>
</div>
</div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<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="#public-slots">Public Slots</a></li>
<li class="level1"><a href="#signals">Signals</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<h1 class="title">QSvgRenderer Class</h1>
<!-- $$$QSvgRenderer-brief -->
<p>The QSvgRenderer class is used to draw the contents of SVG files onto paint devices. <a href="#details">More...</a></p>
<!-- @@@QSvgRenderer -->
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> </b><tt><span class="preprocessor">#include <QSvgRenderer></span>
</tt></td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> <tt>QT += svg</tt></td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 4.1</td></tr></table><p><b>Note:</b> All functions in this class are reentrant.</p>
<ul>
<li><a href="qsvgrenderer-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="properties"></a>
<h2>Properties</h2>
<ul>
<li class="fn"><b><a href="qsvgrenderer.html#framesPerSecond-prop">framesPerSecond</a></b> : int</li>
<li class="fn"><b><a href="qsvgrenderer.html#viewBox-prop">viewBox</a></b> : QRectF</li>
</ul>
<a name="public-functions"></a>
<h2>Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#QSvgRenderer">QSvgRenderer</a></b>(QObject *<i> parent</i> = 0)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#QSvgRenderer-2">QSvgRenderer</a></b>(const QString &<i> filename</i>, QObject *<i> parent</i> = 0)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#QSvgRenderer-3">QSvgRenderer</a></b>(const QByteArray &<i> contents</i>, QObject *<i> parent</i> = 0)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#QSvgRenderer-4">QSvgRenderer</a></b>(QXmlStreamReader *<i> contents</i>, QObject *<i> parent</i> = 0)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#dtor.QSvgRenderer">~QSvgRenderer</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#animated">animated</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRectF </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#boundsOnElement">boundsOnElement</a></b>(const QString &<i> id</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QSize </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#defaultSize">defaultSize</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#elementExists">elementExists</a></b>(const QString &<i> id</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#framesPerSecond-prop">framesPerSecond</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#isValid">isValid</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QMatrix </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#matrixForElement">matrixForElement</a></b>(const QString &<i> id</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#framesPerSecond-prop">setFramesPerSecond</a></b>(int<i> num</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#viewBox-prop">setViewBox</a></b>(const QRect &<i> viewbox</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#viewBox-prop">setViewBox</a></b>(const QRectF &<i> viewbox</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRect </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#viewBox">viewBox</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QRectF </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#viewBox-prop">viewBoxF</a></b>() const</td></tr>
</table>
<a name="public-slots"></a>
<h2>Public Slots</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#load">load</a></b>(const QString &<i> filename</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#load-2">load</a></b>(const QByteArray &<i> contents</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#load-3">load</a></b>(QXmlStreamReader *<i> contents</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#render">render</a></b>(QPainter *<i> painter</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#render-2">render</a></b>(QPainter *<i> painter</i>, const QRectF &<i> bounds</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#render-3">render</a></b>(QPainter *<i> painter</i>, const QString &<i> elementId</i>, const QRectF &<i> bounds</i> = QRectF())</td></tr>
</table>
<a name="signals"></a>
<h2>Signals</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qsvgrenderer.html#repaintNeeded">repaintNeeded</a></b>()</td></tr>
</table>
<a name="details"></a>
<!-- $$$QSvgRenderer-description -->
<div class="descr">
<h2>Detailed Description</h2>
<p>The QSvgRenderer class is used to draw the contents of SVG files onto paint devices.</p>
<p>Using QSvgRenderer, Scalable Vector Graphics (SVG) can be rendered onto any QPaintDevice subclass, including QWidget, QImage, and QGLWidget.</p>
<p>QSvgRenderer provides an API that supports basic features of SVG rendering, such as loading and rendering of static drawings, and more interactive features like animation. Since the rendering is performed using QPainter, SVG drawings can be rendered on any subclass of QPaintDevice.</p>
<p>SVG drawings are either loaded when an QSvgRenderer is constructed, or loaded later using the <a href="qsvgrenderer.html#load">load</a>() functions. Data is either supplied directly as serialized XML, or indirectly using a file name. If a valid file has been loaded, either when the renderer is constructed or at some later time, <a href="qsvgrenderer.html#isValid">isValid</a>() returns true; otherwise it returns false. QSvgRenderer provides the <a href="qsvgrenderer.html#render">render</a>() slot to render the current document, or the current frame of an animated document, using a given painter.</p>
<p>The <a href="qsvgrenderer.html#defaultSize">defaultSize</a>() function provides information about the amount of space that is required to render the currently loaded SVG file. This is useful for paint devices, such as QWidget, that often need to supply a size hint to their parent layout. The default size of a drawing may differ from its visible area, found using the <a href="qsvgrenderer.html#viewBox-prop">viewBox</a> property.</p>
<p>Animated SVG drawings are supported, and can be controlled with a simple collection of functions and properties:</p>
<ul>
<li>The <a href="qsvgrenderer.html#animated">animated</a>() function indicates whether a drawing contains animation information.</li>
<li>The <a href="qsvgrenderer.html#framesPerSecond-prop">framesPerSecond</a> property contains the rate at which the animation plays.</li>
</ul>
<p>Finally, the QSvgRenderer class provides the <a href="qsvgrenderer.html#repaintNeeded">repaintNeeded</a>() signal which is emitted whenever the rendering of the document needs to be updated.</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="qtsvg-svgviewer-example.html">SVG Viewer Example</a>, and QPicture.</p>
<!-- @@@QSvgRenderer -->
<div class="prop">
<h2>Property Documentation</h2>
<!-- $$$framesPerSecond-prop$$$framesPerSecond$$$setFramesPerSecondint -->
<h3 class="fn"><a name="framesPerSecond-prop"></a><span class="name">framesPerSecond</span> : <span class="type">int</span></h3>
<p>This property holds the number of frames per second to be shown.</p>
<p>The number of frames per second is 0 if the current document is not animated.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> int </td><td class="memItemRight bottomAlign"><span class="name"><b>framesPerSecond</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setFramesPerSecond</b></span>(int<i> num</i>)</td></tr>
</table>
<p><b>See also </b><a href="qsvgrenderer.html#animated">animated</a>().</p>
<!-- @@@framesPerSecond -->
<!-- $$$viewBox-prop$$$viewBoxF$$$setViewBoxconstQRect&$$$setViewBoxconstQRectF& -->
<h3 class="fn"><a name="viewBox-prop"></a><span class="name">viewBox</span> : <span class="type">QRectF</span></h3>
<p>This property holds the rectangle specifying the visible area of the document in logical coordinates.</p>
<p>This property was introduced in Qt 4.2.</p>
<p><b>Access functions:</b></p>
<table class="alignedsummary">
<tr><td class="memItemLeft topAlign rightAlign"> QRectF </td><td class="memItemRight bottomAlign"><span class="name"><b>viewBoxF</b></span>() const</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setViewBox</b></span>(const QRect &<i> viewbox</i>)</td></tr>
<tr><td class="memItemLeft topAlign rightAlign"> void </td><td class="memItemRight bottomAlign"><span class="name"><b>setViewBox</b></span>(const QRectF &<i> viewbox</i>)</td></tr>
</table>
<!-- @@@viewBox -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QSvgRenderer[overload1]$$$QSvgRendererQObject* -->
<h3 class="fn"><a name="QSvgRenderer"></a>QSvgRenderer::<span class="name">QSvgRenderer</span>(<span class="type">QObject</span> *<i> parent</i> = 0)</h3>
<p>Constructs a new renderer with the given <i>parent</i>.</p>
<!-- @@@QSvgRenderer -->
<!-- $$$QSvgRenderer$$$QSvgRendererconstQString&QObject* -->
<h3 class="fn"><a name="QSvgRenderer-2"></a>QSvgRenderer::<span class="name">QSvgRenderer</span>(const <span class="type">QString</span> &<i> filename</i>, <span class="type">QObject</span> *<i> parent</i> = 0)</h3>
<p>Constructs a new renderer with the given <i>parent</i> and loads the contents of the SVG file with the specified <i>filename</i>.</p>
<!-- @@@QSvgRenderer -->
<!-- $$$QSvgRenderer$$$QSvgRendererconstQByteArray&QObject* -->
<h3 class="fn"><a name="QSvgRenderer-3"></a>QSvgRenderer::<span class="name">QSvgRenderer</span>(const <span class="type">QByteArray</span> &<i> contents</i>, <span class="type">QObject</span> *<i> parent</i> = 0)</h3>
<p>Constructs a new renderer with the given <i>parent</i> and loads the SVG data from the byte array specified by <i>contents</i>.</p>
<!-- @@@QSvgRenderer -->
<!-- $$$QSvgRenderer$$$QSvgRendererQXmlStreamReader*QObject* -->
<h3 class="fn"><a name="QSvgRenderer-4"></a>QSvgRenderer::<span class="name">QSvgRenderer</span>(<span class="type">QXmlStreamReader</span> *<i> contents</i>, <span class="type">QObject</span> *<i> parent</i> = 0)</h3>
<p>Constructs a new renderer with the given <i>parent</i> and loads the SVG data using the stream reader specified by <i>contents</i>.</p>
<p>This function was introduced in Qt 4.5.</p>
<!-- @@@QSvgRenderer -->
<!-- $$$~QSvgRenderer[overload1]$$$~QSvgRenderer -->
<h3 class="fn"><a name="dtor.QSvgRenderer"></a>QSvgRenderer::<span class="name">~QSvgRenderer</span>()</h3>
<p>Destroys the renderer.</p>
<!-- @@@~QSvgRenderer -->
<!-- $$$animated[overload1]$$$animated -->
<h3 class="fn"><a name="animated"></a><span class="type">bool</span> QSvgRenderer::<span class="name">animated</span>() const</h3>
<p>Returns true if the current document contains animated elements; otherwise returns false.</p>
<p><b>See also </b><a href="qsvgrenderer.html#framesPerSecond-prop">framesPerSecond</a>().</p>
<!-- @@@animated -->
<!-- $$$boundsOnElement[overload1]$$$boundsOnElementconstQString& -->
<h3 class="fn"><a name="boundsOnElement"></a><span class="type">QRectF</span> QSvgRenderer::<span class="name">boundsOnElement</span>(const <span class="type">QString</span> &<i> id</i>) const</h3>
<p>Returns bounding rectangle of the item with the given <i>id</i>. The transformation matrix of parent elements is not affecting the bounds of the element.</p>
<p>This function was introduced in Qt 4.2.</p>
<p><b>See also </b><a href="qsvgrenderer.html#matrixForElement">matrixForElement</a>().</p>
<!-- @@@boundsOnElement -->
<!-- $$$defaultSize[overload1]$$$defaultSize -->
<h3 class="fn"><a name="defaultSize"></a><span class="type">QSize</span> QSvgRenderer::<span class="name">defaultSize</span>() const</h3>
<p>Returns the default size of the document contents.</p>
<!-- @@@defaultSize -->
<!-- $$$elementExists[overload1]$$$elementExistsconstQString& -->
<h3 class="fn"><a name="elementExists"></a><span class="type">bool</span> QSvgRenderer::<span class="name">elementExists</span>(const <span class="type">QString</span> &<i> id</i>) const</h3>
<p>Returns true if the element with the given <i>id</i> exists in the currently parsed SVG file and is a renderable element.</p>
<p>Note: this method returns true only for elements that can be rendered. Which implies that elements that are considered part of the fill/stroke style properties, e.g. radialGradients even tough marked with "id" attributes will not be found by this method.</p>
<p>This function was introduced in Qt 4.2.</p>
<!-- @@@elementExists -->
<!-- $$$isValid[overload1]$$$isValid -->
<h3 class="fn"><a name="isValid"></a><span class="type">bool</span> QSvgRenderer::<span class="name">isValid</span>() const</h3>
<p>Returns true if there is a valid current document; otherwise returns false.</p>
<!-- @@@isValid -->
<!-- $$$load[overload1]$$$loadconstQString& -->
<h3 class="fn"><a name="load"></a><span class="type">bool</span> QSvgRenderer::<span class="name">load</span>(const <span class="type">QString</span> &<i> filename</i>)<tt> [slot]</tt></h3>
<p>Loads the SVG file specified by <i>filename</i>, returning true if the content was successfully parsed; otherwise returns false.</p>
<!-- @@@load -->
<!-- $$$load$$$loadconstQByteArray& -->
<h3 class="fn"><a name="load-2"></a><span class="type">bool</span> QSvgRenderer::<span class="name">load</span>(const <span class="type">QByteArray</span> &<i> contents</i>)<tt> [slot]</tt></h3>
<p>Loads the specified SVG format <i>contents</i>, returning true if the content was successfully parsed; otherwise returns false.</p>
<!-- @@@load -->
<!-- $$$load$$$loadQXmlStreamReader* -->
<h3 class="fn"><a name="load-3"></a><span class="type">bool</span> QSvgRenderer::<span class="name">load</span>(<span class="type">QXmlStreamReader</span> *<i> contents</i>)<tt> [slot]</tt></h3>
<p>Loads the specified SVG in <i>contents</i>, returning true if the content was successfully parsed; otherwise returns false.</p>
<p>The reader will be used from where it currently is positioned. If <i>contents</i> is <tt>null</tt>, behavior is undefined.</p>
<p>This function was introduced in Qt 4.5.</p>
<!-- @@@load -->
<!-- $$$matrixForElement[overload1]$$$matrixForElementconstQString& -->
<h3 class="fn"><a name="matrixForElement"></a><span class="type">QMatrix</span> QSvgRenderer::<span class="name">matrixForElement</span>(const <span class="type">QString</span> &<i> id</i>) const</h3>
<p>Returns the transformation matrix for the element with the given <i>id</i>. The matrix is a product of the transformation of the element's parents. The transformation of the element itself is not included.</p>
<p>To find the bounding rectangle of the element in logical coordinates, you can apply the matrix on the rectangle returned from <a href="qsvgrenderer.html#boundsOnElement">boundsOnElement</a>().</p>
<p>This function was introduced in Qt 4.2.</p>
<p><b>See also </b><a href="qsvgrenderer.html#boundsOnElement">boundsOnElement</a>().</p>
<!-- @@@matrixForElement -->
<!-- $$$render[overload1]$$$renderQPainter* -->
<h3 class="fn"><a name="render"></a><span class="type">void</span> QSvgRenderer::<span class="name">render</span>(<span class="type">QPainter</span> *<i> painter</i>)<tt> [slot]</tt></h3>
<p>Renders the current document, or the current frame of an animated document, using the given <i>painter</i>.</p>
<!-- @@@render -->
<!-- $$$render$$$renderQPainter*constQRectF& -->
<h3 class="fn"><a name="render-2"></a><span class="type">void</span> QSvgRenderer::<span class="name">render</span>(<span class="type">QPainter</span> *<i> painter</i>, const <span class="type">QRectF</span> &<i> bounds</i>)<tt> [slot]</tt></h3>
<p>Renders the current document, or the current frame of an animated document, using the given <i>painter</i> on the specified <i>bounds</i> within the painter. If the bounding rectangle is not specified the SVG file is mapped to the whole paint device.</p>
<!-- @@@render -->
<!-- $$$render$$$renderQPainter*constQString&constQRectF& -->
<h3 class="fn"><a name="render-3"></a><span class="type">void</span> QSvgRenderer::<span class="name">render</span>(<span class="type">QPainter</span> *<i> painter</i>, const <span class="type">QString</span> &<i> elementId</i>, const <span class="type">QRectF</span> &<i> bounds</i> = QRectF())<tt> [slot]</tt></h3>
<p>Renders the given element with <i>elementId</i> using the given <i>painter</i> on the specified <i>bounds</i>. If the bounding rectangle is not specified the SVG element is mapped to the whole paint device.</p>
<!-- @@@render -->
<!-- $$$repaintNeeded[overload1]$$$repaintNeeded -->
<h3 class="fn"><a name="repaintNeeded"></a><span class="type">void</span> QSvgRenderer::<span class="name">repaintNeeded</span>()<tt> [signal]</tt></h3>
<p>This signal is emitted whenever the rendering of the document needs to be updated, usually for the purposes of animation.</p>
<!-- @@@repaintNeeded -->
<!-- $$$viewBox[overload1]$$$viewBox -->
<h3 class="fn"><a name="viewBox"></a><span class="type">QRect</span> QSvgRenderer::<span class="name">viewBox</span>() const</h3>
<p>Returns <a href="qsvgrenderer.html#viewBox-prop">viewBoxF</a>().toRect().</p>
<p><b>See also </b><a href="qsvgrenderer.html#viewBox-prop">setViewBox</a>() and <a href="qsvgrenderer.html#viewBox-prop">viewBoxF</a>().</p>
<!-- @@@viewBox -->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<p>
<acronym title="Copyright">©</acronym> 2014 Digia Plc and/or its
subsidiaries. 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> Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners. </p>
</div>
</body>
</html>
|