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

Signaler
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010
-
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010
-
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

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
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.
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Salut,

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

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

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?
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
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.
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

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é?
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

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

Désolé, merci a toi