Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QML PropertyAction Element

The PropertyAction element allows immediate property changes during animation. More...

Inherits Animation

This element was introduced in Qt 4.7.

Properties

Detailed Description

PropertyAction is used to specify an immediate property change during an animation. The property change is not animated.

It is useful for setting non-animated property values during an animation.

For example, here is a SequentialAnimation that sets the image's smooth property to true, animates the width of the image, then sets smooth back to false:

 SequentialAnimation {
     PropertyAction { target: img; property: "smooth"; value: "true" }
     NumberAnimation { target: img; property: "width"; to: 300; duration: 1000 }
     PropertyAction { target: img; property: "smooth"; value: "false" }
 }

PropertyAction is also useful for setting the exact point at which a property change should occur during a Transition. For example, if PropertyChanges was used in a State to rotate an item around a particular transformOrigin, it might be implemented like this:

 Item {
     width: 400; height: 400

     Rectangle {
         id: rect
         width: 200; height: 100
         color: "red"

         states: State {
             name: "rotated"
             PropertyChanges { target: rect; rotation: 180; transformOrigin: Item.BottomRight }
         }

         transitions: Transition {
             RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
         }

         MouseArea {
             anchors.fill: parent
             onClicked: rect.state = "rotated"
         }
     }
 }

However, with this code, the transformOrigin is not set until after the animation, as a State is taken to define the values at the end of a transition. The animation would rotate at the default transformOrigin, then jump to Item.BottomRight. To fix this, insert a PropertyAction before the RotationAnimation begins:

 transitions: Transition {
     SequentialAnimation {
         PropertyAction { target: rect; property: "transformOrigin" }
         RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
     }
 }

This immediately sets the transformOrigin property to the value defined in the end state of the Transition (i.e. the value defined in the PropertyAction object) so that the rotation animation begins with the correct transform origin.

See also QML Animation and Transitions and QtDeclarative.

Property Documentation

read-onlyexclude : list<Object>

This property holds the objects that should not be affected by this action.

See also targets.


target : Object

targets : list<Object>

property : string

properties : string

These properties determine the items and their properties that are affected by this action.

The details of how these properties are interpreted in different situations is covered in the corresponding PropertyAnimation documentation.

See also exclude.


value : any

This property holds the value to be set on the property.

If the PropertyAction is defined within a Transition or Behavior, this value defaults to the value defined in the end state of the Transition, or the value of the property change that triggered the Behavior.


Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.8
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web