QTouchEventLa classe QTouchEvent contient des param�tres qui d�crivent un �v�nement de toucher. Plus d'informations... #include <QTouchEvent> Voir la position dans l'arbre des classes. H�ritageH�rite de QInputEvent. Cette classe a �t� introduite dans Qt 4.6. Description d�taill�eLa classe QTouchEvent contient des param�tres qui d�crivent un �v�nement de toucher. Activation des �v�nements de toucherLes �v�nements de toucher se produisent lors d'une pression, d'un rel�chement ou d'un mouvement d'un ou plusieurs points de toucher sur un appareil tactile (comme un �cran tactile ou track-pad). Pour recevoir des �v�nements de toucher, les widgets doivent avoir l'attribut Qt::WA_AcceptTouchEvents � true et les �l�ments graphiques doivent avoir l'attribut acceptTouchEvents d�fini � true. Lors de l'utilisation de widgets bas�s sur QAbstractScrollArea, vous devez activer l'attribut Qt::WA_AcceptTouchEvents sur le viewport de la zone de d�filement. Comme pour QMouseEvent, Qt capte automatiquement un point de toucher d�s la premi�re pression � l'int�rieur d'un widget, et le widget recevra toutes les mises � jour du point de toucher jusqu'� ce que ce dernier soit rel�ch�. Notez qu'il est possible pour un widget de recevoir des �v�nements pour de nombreux points de toucher. Notez aussi que de multiples widgets peuvent recevoir des �v�nements de toucher en m�me temps. Gestion des �v�nementsTous les �v�nements de toucher sont du type QEvent::TouchBegin, QEvent::TouchUpdate ou QEvent::TouchEnd. R�impl�mentez QWidget::event() ou QAbstractScrollArea::viewportEvent() pour les widgets et QGraphicsItem::sceneEvent() pour les �l�ments pr�sents dans une vue graphique pour la r�ception d'�v�nements de toucher. Les �v�nements QEvent::TouchUpdate et QEvent::TouchEnd sont envoy�s au widget ou � l'�l�ment qui a accept� l'�v�nement QEvent::TouchBegin. Si l'�v�nement QEvent::TouchBegin n'est pas accept� ni filtr� par un filtre d'�v�nements, alors aucun autre �v�nement de toucher ne sera envoy� jusqu'au prochain QEvent::TouchBegin. La fonction touchPoints() retourne une liste de tous les points de toucher contenus dans le widget. Des informations � propos de chaque point de toucher peuvent �tre r�cup�r�es en utilisant la classe QTouchEvent::TouchPoint. L'�num�ration Qt::TouchPointState d�crit les diff�rents �tats qu'un point de toucher peut avoir. Livraison et propagation d'�v�nementsPar d�faut, QWidget::event() traduit le premier point de toucher non primaire dans un QTouchEvent � l'int�rieur d'un QMouseEvent. Cela permet d'autoriser les �v�nements de toucher dans les widgets existants qui ne g�rent normalement pas QTouchEvent. Voir ci-dessous pour plus d'informations sur certaines consid�rations sp�ciales n�cessaires lors d'une telle action. QEvent::TouchBegin est le premier �v�nement de toucher envoy� � un widget. L'�v�nement QEvent::TouchBegin contient un drapeau sp�cial d'admission d'�v�nement qui indique si le receveur veut ou non de l'�v�nement. Par d�faut, l'�v�nement est accept�. Vous devez appeler ignore() si l'�v�nement de toucher n'est pas g�r� par votre widget. L'�v�nement QEvent::TouchBegin est propag� dans la file des widgets parents jusqu'� ce qu'un widget l'accepte avec accept(), ou bien jusqu'� ce qu'un filtre d'�v�nements le consid�re. Pour les QGraphicsItem, l'�v�nement QEvent::TouchBegin est propag� aux �l�ments sous la souris (identique � la propagation des �v�nements de souris pour les QGraphicsItem). Groupement de points de toucherComme mentionn� plus haut, il est possible que plusieurs widgets re�oivent des QTouchEvent en m�me temps. Cependant, Qt assure ne jamais d�livrer de doublons des �v�nements QEvent::TouchBegin au m�me widget. Ces doublons doivent th�oriquement se produire durant la propagation si, par exemple, l'utilisateur a touch� deux widgets s�par�s dans un QGroupBox et que les deux widgets ont ignor� l'�v�nement QEvent::TouchBegin. Pour �viter cela, Qt va grouper les nouveaux points de toucher ensemble en utilisant les r�gles suivantes :
Cela rend possible que plusieurs widgets d'un m�me parent puissent g�rer les �v�nements de toucher ind�pendamment, tout en assurant que la s�quence de QTouchEvent soit toujours correcte. Les �v�nements de souris et les points de toucher primairesLa livraison de QTouchEvent est ind�pendante de celle de QMouseEvent. Sur certains syst�mes de fen�trage, les �v�nements de souris sont aussi envoy�s depuis le point de toucher primaire. Cela signifie qu'il est possible pour votre widget de recevoir � la fois des �v�nements de QTouchEvent et de QMouseEvent pour un m�me point d'interaction avec l'utilisateur. Vous pouvez utiliser la fonction QTouchEvent::TouchPoint::isPrimary() pour identifier le point de toucher primaire. Notez que sous certains syst�mes de fen�trage, il est possible de recevoir des �v�nements de toucher sans point de toucher primaire. Tout cela signifie qu'il n'y aura pas d'�v�nement de souris g�n�r� pour les points de toucher dans le QTouchEvent. Mises en garde
Voir aussi QTouchEvent::TouchPoint, Qt::TouchPointState, Qt::WA_AcceptTouchEvents et QGraphicsItem::acceptTouchEvents(). Typeenum QTouchEvent::DeviceTypeCette �num�ration repr�sente le type du mat�riel qui a g�n�r� un QTouchEvent.
Fonctions membresQTouchEvent::QTouchEvent ( QEvent::Type eventType, QTouchEvent::DeviceType deviceType = TouchScreen, Qt::KeyboardModifiers modifiers = Qt::NoModifier, Qt::TouchPointStates touchPointStates = 0, const QList<QTouchEvent::TouchPoint> & touchPoints = QList<QTouchEvent::TouchPoint> () )Construit un QTouchEvent avec les eventType, deviceType et touchPoints donn�s. Les touchPointStates et modifiers sont les �tats du point de toucher actuel et les modificateurs de clavier au moment de l'�v�nement. QTouchEvent::~QTouchEvent ()D�truit le QTouchEvent. QTouchEvent::DeviceType QTouchEvent::deviceType () constRetourne le Type de mat�riel de toucher, qui est de type DeviceType. Qt::TouchPointStates QTouchEvent::touchPointStates () constRetourne une op�ration binaire OU de tous les �tats de points de toucher pour cet �v�nement. const QList<QTouchEvent::TouchPoint> & QTouchEvent::touchPoints () constRetourne la liste des points de toucher contenus dans l'�v�nement de toucher. QWidget * QTouchEvent::widget () constRetourne le widget sur lequel l'�v�nement s'est produit. RemerciementsMerci � Louis du Verdier pour la traduction et � Jonathan Courtois ainsi qu'� Claude Leloup pour leur relecture ! |
Publicit�
Best OfActualit�s les plus luesSemaine
Mois
Ann�e
![]()
![]() Le blog Digia au hasard![]() D�ploiement d'applications Qt Commercial sur les tablettes Windows 8Le blog Digia est l'endroit privil�gi� pour la communication sur l'�dition commerciale de Qt, o� des r�ponses publiques sont apport�es aux questions les plus pos�es au support. Lire l'article.
Communaut�Ressources
Liens utilesContact
Qt dans le magazine |
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 © 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 ! |
Copyright © 2000-2012 - www.developpez.com