IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QEventTransition

La classe QEventTransition fournit des transitions spécifiques au QObject pour les événements Qt. Plus d'informations...

#include <QEventTransition>

Voir la position dans l'arbre des classes.

  

Héritage

Hérite de QAbstractTransition.

Hérité par QKeyEventTransition et QMouseEventTransition.

Cette classe a été introduite dans Qt 4.6.

Description détaillée

La classe QEventTransition fournit des transitions spécifiques au QObject pour les événements Qt.

Un objet QEventTransition lie un événement à un QObject particulier. QEventTransition fait partie du framework de machine à états.

Exemple :

 QPushButton *button = ...;
 QState *s1 = ...;
 QState *s2 = ...;
 // Si dans l'état s1 et que le bouton reçoit un événement "Enter", on effectue une transition vers l'état s2
 QEventTransition *enterTransition = new QEventTransition(button, QEvent::Enter);
 enterTransition->setTargetState(s2);
 s1->addTransition(enterTransition);
 // Si dans l'état s2 et que le bouton reçoit un événement "Exit", on effectue une transition de retour vers l'état s1
 QEventTransition *leaveTransition = new QEventTransition(button, QEvent::Leave);
 leaveTransition->setTargetState(s1);
 s2->addTransition(leaveTransition);

Dérivation

Si vous réimplémentez la fonction eventTest(), vous devez d'abord appeler l'implémentation de base pour vérifier que l'événement est un QStateMachine::WrappedEvent pour le type d'objet et d'événement correct. Vous pouvez alors convertir l'événement dans le type QStateMachine::WrappedEvent et obtenir l'événement original en appelant QStateMachine::WrappedEvent::event() et effectuer des vérifications supplémentaires sur cet objet.

Voir aussi QState::addTransition().

Propriétés

eventSource : QObject *

Cette propriété contient la source d'événement à laquelle cette transition est associée.

Fonctions d'accès

QObject * eventSource () const

void setEventSource ( QObject * object )

eventType : QEvent::Type

Cette propriété contient le type d'événement auquel cette transition est associée.

Fonctions d'accès

QEvent::Type eventType () const

void setEventType ( QEvent::Type type )

Fonctions membres

QEventTransition::QEventTransition ( QState * sourceState = 0 )

Construit un nouvel objet QEventTransition avec l'état sourceState donné.

QEventTransition::QEventTransition ( QObject * object, QEvent::Type type, QState * sourceState = 0 )

Construit un nouvel objet QEventTransition associé avec les événements du type donné, pour l'objet object et l'état sourceState donnés.

QEventTransition::~QEventTransition ()

Détruit la transition de ce QObject.

bool QEventTransition::event ( QEvent * e ) [virtual protected]

Réimplémentation de QObject::event().

bool QEventTransition::eventTest ( QEvent * event ) [virtual protected]

Réimplémentation de QAbstractTransition::eventTest().

void QEventTransition::onTransition ( QEvent * event ) [virtual protected]

Réimplémentation de QAbstractTransition::onTransition().

Remerciements

Merci à Ilya Diallo pour la traduction et à Jonathan Courtois ainsi qu'à Claude Leloup pour leur relecture !

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.7
Copyright © 2021 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, 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 !