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
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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" />
<!-- qdeclarativeanimation.cpp -->
<title>Qt 4.8: QML ParentAnimation Element</title>
<link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
<div class="content">
<a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
</div>
<div class="breadcrumb toolblock">
<ul>
<li class="first"><a href="index.html">Home</a></li>
<!-- Breadcrumbs go here -->
<li><a href="qdeclarativeelements.html">QML Elements</a></li>
<li>QML ParentAnimation Element</li>
</ul>
</div>
</div>
<div class="content mainContent">
<p class="naviNextPrevious headerNavi">
</p><p/>
<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="#details">Detailed Description</a></li>
</ul>
</div>
<h1 class="title">QML ParentAnimation Element</h1>
<span class="subtitle"></span>
<!-- $$$ParentAnimation-brief -->
<p>The ParentAnimation element animates changes in parent values. <a href="#details">More...</a></p>
<!-- @@@ParentAnimation -->
<p>Inherits <a href="qml-animation.html">Animation</a></p>
<p>This element was introduced in Qt 4.7.</p>
<ul>
<li><a href="qml-parentanimation-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="properties"></a>
<h2>Properties</h2>
<ul>
<li class="fn"><b><b><a href="qml-parentanimation.html#newParent-prop">newParent</a></b></b> : Item</li>
<li class="fn"><b><b><a href="qml-parentanimation.html#target-prop">target</a></b></b> : Item</li>
<li class="fn"><b><b><a href="qml-parentanimation.html#via-prop">via</a></b></b> : Item</li>
</ul>
<!-- $$$ParentAnimation-description -->
<a name="details"></a>
<h2>Detailed Description</h2>
<p>ParentAnimation is used to animate a parent change for an <a href="qml-item.html">Item</a>.</p>
<p>For example, the following <a href="qml-parentchange.html">ParentChange</a> changes <tt>blueRect</tt> to become a child of <tt>redRect</tt> when it is clicked. The inclusion of the ParentAnimation, which defines a <a href="qml-numberanimation.html">NumberAnimation</a> to be applied during the transition, ensures the item animates smoothly as it moves to its new parent:</p>
<pre class="qml"> import QtQuick 1.0
<span class="type"><a href="qml-item.html">Item</a></span> {
<span class="name">width</span>: <span class="number">200</span>; <span class="name">height</span>: <span class="number">100</span>
<span class="type"><a href="qml-rectangle.html">Rectangle</a></span> {
<span class="name">id</span>: <span class="name">redRect</span>
<span class="name">width</span>: <span class="number">100</span>; <span class="name">height</span>: <span class="number">100</span>
<span class="name">color</span>: <span class="string">"red"</span>
}
<span class="type"><a href="qml-rectangle.html">Rectangle</a></span> {
<span class="name">id</span>: <span class="name">blueRect</span>
<span class="name">x</span>: <span class="name">redRect</span>.<span class="name">width</span>
<span class="name">width</span>: <span class="number">50</span>; <span class="name">height</span>: <span class="number">50</span>
<span class="name">color</span>: <span class="string">"blue"</span>
<span class="name">states</span>: <span class="name">State</span> {
<span class="name">name</span>: <span class="string">"reparented"</span>
<span class="type"><a href="qml-parentchange.html">ParentChange</a></span> { <span class="name">target</span>: <span class="name">blueRect</span>; <span class="name">parent</span>: <span class="name">redRect</span>; <span class="name">x</span>: <span class="number">10</span>; <span class="name">y</span>: <span class="number">10</span> }
}
<span class="name">transitions</span>: <span class="name">Transition</span> {
<span class="type">ParentAnimation</span> {
<span class="type"><a href="qml-numberanimation.html">NumberAnimation</a></span> { <span class="name">properties</span>: <span class="string">"x,y"</span>; <span class="name">duration</span>: <span class="number">1000</span> }
}
}
<span class="type"><a href="qml-mousearea.html">MouseArea</a></span> { <span class="name">anchors</span>.fill: <span class="name">parent</span>; <span class="name">onClicked</span>: <span class="name">blueRect</span>.<span class="name">state</span> <span class="operator">=</span> <span class="string">"reparented"</span> }
}
}</pre>
<p>A ParentAnimation can contain any number of animations. These animations will be run in parallel; to run them sequentially, define them within a <a href="qml-sequentialanimation.html">SequentialAnimation</a>.</p>
<p>In some cases, such as when reparenting between items with clipping enabled, it is useful to animate the parent change via another item that does not have clipping enabled. Such an item can be set using the <a href="qml-parentanimation.html#via-prop">via</a> property.</p>
<p>For convenience, when a ParentAnimation is used in a <a href="qml-transition.html">Transition</a>, it will animate any <a href="qml-parentchange.html">ParentChange</a> that has occurred during the state change. This can be overridden by setting a specific target item using the <a href="qml-parentanimation.html#target-prop">target</a> property.</p>
<p>Like any other animation element, a ParentAnimation can be applied in a number of ways, including transitions, behaviors and property value sources. The <a href="qdeclarativeanimation.html">QML Animation and Transitions</a> documentation shows a variety of methods for creating animations.</p>
<p><b>See also </b><a href="qdeclarativeanimation.html">QML Animation and Transitions</a> and Animation basics example.</p>
<!-- @@@ParentAnimation -->
<h2>Property Documentation</h2>
<!-- $$$newParent -->
<div class="qmlitem"><div class="qmlproto"><table class="qmlname"><tr valign="top" class="odd"><td class="tblQmlPropNode"><p><a name="newParent-prop"></a><span class="name">newParent</span> : <span class="type"><a href="qml-item.html">Item</a></span></p></td></tr></table></div><div class="qmldoc"><p>The new parent to animate to.</p>
<p>If the <a href="qml-parentanimation.html">ParentAnimation</a> is defined within a <a href="qml-transition.html">Transition</a> or <a href="qml-behavior.html">Behavior</a>, this value defaults to the value defined in the end state of the <a href="qml-transition.html">Transition</a>, or the value of the property change that triggered the <a href="qml-behavior.html">Behavior</a>.</p>
</div></div><!-- @@@newParent -->
<br/>
<!-- $$$target -->
<div class="qmlitem"><div class="qmlproto"><table class="qmlname"><tr valign="top" class="odd"><td class="tblQmlPropNode"><p><a name="target-prop"></a><span class="name">target</span> : <span class="type"><a href="qml-item.html">Item</a></span></p></td></tr></table></div><div class="qmldoc"><p>The item to reparent.</p>
<p>When used in a transition, if no target is specified, all <a href="qml-parentchange.html">ParentChange</a> occurrences are animated by the <a href="qml-parentanimation.html">ParentAnimation</a>.</p>
</div></div><!-- @@@target -->
<br/>
<!-- $$$via -->
<div class="qmlitem"><div class="qmlproto"><table class="qmlname"><tr valign="top" class="odd"><td class="tblQmlPropNode"><p><a name="via-prop"></a><span class="name">via</span> : <span class="type"><a href="qml-item.html">Item</a></span></p></td></tr></table></div><div class="qmldoc"><p>The item to reparent via. This provides a way to do an unclipped animation when both the old parent and new parent are clipped.</p>
<pre class="qml"> <span class="type"><a href="qml-parentanimation.html">ParentAnimation</a></span> {
<span class="name">target</span>: <span class="name">myItem</span>
<span class="name">via</span>: <span class="name">topLevelItem</span>
<span class="comment">// ...</span>
}</pre>
</div></div><!-- @@@via -->
<br/>
<p class="naviNextPrevious footerNavi">
</p>
<div class="ft">
<span></span>
</div>
</div>
<div class="footer">
<p>
<acronym title="Copyright">©</acronym> 2012 Nokia Corporation and/or its
subsidiaries. Documentation contributions included herein are the copyrights of
their respective owners.</p>
<br />
<p>
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.</p>
<p>
Documentation sources may be obtained from <a href="http://www.qt-project.org">
www.qt-project.org</a>.</p>
<br />
<p>
Nokia, Qt and their respective logos are trademarks of Nokia Corporation
in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners. <a title="Privacy Policy"
href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
</div>
</body>
</html>
|