Déplacement souris Qt c++

Résolu
victor110
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010
- 19 févr. 2010 à 19:46
victor110
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010
- 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

9 réponses

cs_rt15
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
20 févr. 2010 à 16:34
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.
3
cs_rt15
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
20 févr. 2010 à 13:47
Salut,

Jette peut être un oeil sur grabMouse. Mais elle est dangereuse.
0
victor110
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

20 févr. 2010 à 15:00
Si j'ai bien compris la doc ça peut faire planter la compilation?
0
victor110
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

20 févr. 2010 à 15:08
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
20 févr. 2010 à 15:12
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.
0
victor110
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

20 févr. 2010 à 15:42
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é?
0
victor110
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

20 févr. 2010 à 17:10
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.
0
cs_rt15
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
20 févr. 2010 à 17:16
Aucune idée... Mais c'est une autre question ! Pour une autre question, il faut ouvrir une autre discussion.
0
victor110
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

20 févr. 2010 à 17:23
Désolé, merci a toi
0