Déplacement souris Qt c++ [Résolu]

victor110 86 Messages postés vendredi 20 octobre 2006Date d'inscription 13 mai 2010 Dernière intervention - 19 févr. 2010 à 19:46 - Dernière réponse : victor110 86 Messages postés vendredi 20 octobre 2006Date d'inscription 13 mai 2010 Dernière intervention
- 20 févr. 2010 à 17:23
Bonjour à tous,

J'utilise depuis peu la librairie Qt et je voudrais détecter le mouvement de la souris dans le widget mais aussi en dehors. Je ne trouve pas de fonction correspondant dans Qt.
QMouseEvent ne s'appliquant uniquement au widget je ne vois pas comment faire.

Pourriez vous m'aider?

Cordialement
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 20 févr. 2010 à 16:34
3
Merci
Bah oui un peu. Une autre solution serait d'utiliser un timer + GetCursorPos mais ce serait moins précis et consommerait inutilement du temps CPU.

Merci cs_rt15 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_rt15
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 20 févr. 2010 à 13:47
0
Merci
Salut,

Jette peut être un oeil sur grabMouse. Mais elle est dangereuse.
Commenter la réponse de cs_rt15
victor110 86 Messages postés vendredi 20 octobre 2006Date d'inscription 13 mai 2010 Dernière intervention - 20 févr. 2010 à 15:00
0
Merci
Si j'ai bien compris la doc ça peut faire planter la compilation?
Commenter la réponse de victor110
victor110 86 Messages postés vendredi 20 octobre 2006Date d'inscription 13 mai 2010 Dernière intervention - 20 févr. 2010 à 15:08
0
Merci
J'ai un deuxième problème la doc indique que la souris n'est plus reconnue par les autres application.
Je voudrais faire une application qui se lance uniquement lorsque la souris bouge. Ce serait une application de fond(QSystemTray).
Si ce n'est pas possible en Qt:
Est-ce possible avec la librairie standard?
Commenter la réponse de victor110
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 20 févr. 2010 à 15:12
0
Merci
Ah non, pas avec la lib standard. Il n'y a pas de solution portable pour faire ce genre de chose.
Sous Windows, un hook souris me paraîtrait pas mal.
Sous Linux, faudrait chercher dans la lib X11, du côté de XFilterEvent peut être.
Commenter la réponse de cs_rt15
victor110 86 Messages postés vendredi 20 octobre 2006Date d'inscription 13 mai 2010 Dernière intervention - 20 févr. 2010 à 15:42
0
Merci
Je bosse sous windows et je ferai la version linux après.
J'ai déjà pensé au hook. C'est pas un peu risqué?
Commenter la réponse de victor110
victor110 86 Messages postés vendredi 20 octobre 2006Date d'inscription 13 mai 2010 Dernière intervention - 20 févr. 2010 à 17:10
0
Merci
Ok j'ai un autre problème. Je voudrais lorsque je ferme la fenêtre qu'elle apparaissent dans le systemtray. Le probleme c'est que j'arrive pas à réouvrir la fenêtre a partir du systemtray.
void FenTimer::iconActivated(QSystemTrayIcon::ActivationReason reason)
{
    switch (reason)
    {
        case QSystemTrayIcon::Trigger:
        case QSystemTrayIcon::DoubleClick:
            show();
            break;
    }
}

Et voici le connect:
QObject::connect(SysIco, SIGNAL(QSystemTrayIcon::activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason reason)));

Je l'utilise de la même facon que dans l'exemple Qt.
Exemple QT
Je comprend pas le problème.
Commenter la réponse de victor110
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 20 févr. 2010 à 17:16
0
Merci
Aucune idée... Mais c'est une autre question ! Pour une autre question, il faut ouvrir une autre discussion.
Commenter la réponse de cs_rt15
victor110 86 Messages postés vendredi 20 octobre 2006Date d'inscription 13 mai 2010 Dernière intervention - 20 févr. 2010 à 17:23
0
Merci
Désolé, merci a toi
Commenter la réponse de victor110

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.