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 13
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 13
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 13
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 13
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
Rejoignez-nous