IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Ne garder que le dernier événement d'un type défini ?


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 106
    Par défaut Ne garder que le dernier événement d'un type défini ?
    Bonjour,

    Si une application n'est en capacité d'accueillir les évènements système qu'une fois par seconde, elle ne recevra qu'une information de deplacement de souris la plus récente (QMouseEvent), et non pas les 60 déplacements possibles qui ont pu avoir lieu pendant que l'application était occupé.

    Comment obtenir le même comportement avec des evenements de tablette graphique ? (QTabletEvent)
    En l'état je recois facilement plus d'une centaine d'évenement par seconde, hors mon application ne peut en traiter qu'une vingtaine tout au plus chaque seconde, et elle se retrouve rapidement débordée a devoir traiter des evenements tablettes qui ont eu lieu il y a deja plusieurs secondes...

    Ya t-il moyen de ne demander que le dernier evenement QTabletEvent le plus recent, comme avec la souris ?

    Merci !

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut, Normalement non.

    Ce que tu peux faire c'est de stocker la/les dernière valeur et exploiter l'eventloop pour scheduler le prochain traitement. Comme cela, Qt aura traité tous les events avant de relancer ton traitement.

    Avec un slot tu pourrais utiliser http://qt.developpez.com/doc/latest/qtimer/#singleshot à la fin de ton traitement.
    Tu peut trouver des explications sur mon article (en cours) http://yan-verdavaine.developpez.com...sse_asynchrone

    Tu pourrais aussi utiliser void timerEvent(QTimerEvent*),startTimer() et killtimer() des QObject.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 106
    Par défaut
    Merci,

    Entre temps j'ai trouvé un "workaround" : je met tous mes evenements de tablet "move" en ignore(), comme ca ils sont automatiquement transformés en evenement mousemove, donc géré correctement par le systeme sans surcharge.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Ne garder que le dernier bloc
    Par Vadorblanc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/12/2010, 23h06
  2. Réponses: 8
    Dernier message: 26/08/2010, 17h12
  3. Ne garder que le plus grand
    Par mobscene dans le forum Langage
    Réponses: 30
    Dernier message: 23/12/2005, 01h23
  4. selection avec group by mais ne garder que ...
    Par Larson dans le forum Langage SQL
    Réponses: 13
    Dernier message: 22/06/2005, 17h23
  5. [Oracle 8i] ne garder que certains enregistrements (COUNT ?)
    Par delphim dans le forum Langage SQL
    Réponses: 13
    Dernier message: 23/02/2005, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo