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 :

Forcer un mouse press ou release


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut Forcer un mouse press ou release
    Est ce qu'il est possible de forcer la souris à faire un press ou release dans Qt.
    Evidement je ne veut pas que le boutton physique de ma souris se press tout seul mais simuler ceci.

    J'ai une widget qui recoit un dragEnterEvent. Ce drag vient d'une autre source et je veux y mettre fin immédiatement après son arrivé. Donc j'ai pensé à simuler un release event.

    Merci

  2. #2
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Les actions de la souris sont des fonctions à ré implémenté et non des signaux.

    Tu peux donc dans ta fonction dragEnterEvent appeler la fonction mouseReleaseEvent mais je ne vois pas trop l'intéret car tout ce que tu fais dans mouseReleaseEvent tu peux le faire dans dragEnterEvent et tu as également toutes les informations sur la souris.

    Ici la liste de tout ce que tu peux appeler dans dragEnterEvent : http://qt.developpez.com/doc/4.5/qdr...event-members/

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Merci pour ta réponse.

    Le drag vient d'une autre source, donc peu importe ce que je fais dans mon dragEnterEvent, l'objet ne sera pas relâché que si le mouseReleaseEvent de la source est appellé. Je n'ai aucun contrôle sur le mouseReleaseEvent de la source et donc je ne peux l'appeler que en simulant un release de la souris, qui lui fera en sorte que le mouseReleaseEvent soit appelé dans la source.

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Alors je dirais tu créer un objet de type QMouseEvent et ensuite tu l'envoi.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QMouseEvent event(QEvent::MouseButtonRelease, pos, 0, 0, 0);
    QApplication::sendEvent(mainWindow, &event);
    Ça pourrait t'aller ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    J'ai utilisé postEvent au lieu de sendEvent, ca fonctionner mais j'ai eu un deadlock. Mais c'est la bonne piste. Ca répond à ma question qui est comment créer ou simuler des events.

    Merci

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

Discussions similaires

  1. gestion d'un SharedObject pour forcer un release.
    Par karpediem dans le forum Flash
    Réponses: 4
    Dernier message: 27/03/2009, 21h56
  2. comment rendre le mouseclicked prioritaire sur mousepressed et mouse released
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 24/04/2008, 14h18
  3. Evénement Mouse Press
    Par Igmar dans le forum VB.NET
    Réponses: 4
    Dernier message: 09/08/2007, 10h33

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