|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : février 2010 Messages : 76 ![]() |
Bonsoir,
à l'aide de la bibliothèque Qt, je voudrais afficher une fenêtre au milieu de mon écran seulement si ma souris est allé sur la partie gauche sur l'écran, pour résumer : - On lance l'application, elle est cachée, on a le focus sur une autre application. - Si je colle ma souris au bord gauche de mon écran, ma fenêtre apparait au centre de l'écran. Voilà, il faudrait en fait que je récupère les coordonnées de la souris dans mon application même si je n'ai pas le focus dessus. Comment faire ? Après quelques recherches : - Il semblerait que quelque chose de la sorte est possible en utilisant la lib Qxt, mais je n'ai pas envie de l'installer, je pense qu'il y a plus simple. - J'ai pensé à lancer un thread dans mon programme qui se chargerait de le faire, mais je ne suis pas sûr de l'efficacité (comment récupérer la position de la souris quand on dérive de QThread ?) Merci d'avance pour vos conseils avisés. |
|
|
00
|
|
|
#2 |
![]() ![]() Louis du VerdierÉtudiant Inscription : mars 2009 Messages : 1 480 ![]() |
Bonjour,
Pour récupérer la position de la souris par rapport à l'écran lui-même, il suffit de passer par QWidget::mapToGlobal(). Après, pour savoir "quand" le faire, un mouseMoveEvent ne va pas être possible si la souris n'est pas dans la fenêtre. Du coup, je ne sais pas : une boucle, un timer, un thread, un hack ? Quelqu'un aura sans doute une meilleure solution. Bonne continuation, Amnell.
__________________
Qt : FAQ Qt - Qt Quarterly - Ma page perso - La documentation de Qt en français Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL) Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML |
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : février 2010 Messages : 76 ![]() |
Oui j'ai finalement réussi facilement à l'aide de QThread qui tourne en boucle avec une pause de 1s pour éviter une trop grosse consommation de CPU et QCursor qui permet de récupérer la position de la souris sur l'écran même si on a pas le focus sur notre application.
Le problème est donc résolu. J'hésite même à créer une petite lib qui gère ce genre de chose, ça servira peut-être à plus d'une personne. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com