IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Récupérer les coordonnées de la souris


Sujet :

Python

  1. #1
    Membre confirmé
    Avatar de Captain'Flam
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 273
    Points : 455
    Points
    455
    Billets dans le blog
    1
    Par défaut Récupérer les coordonnées de la souris
    Bonjour,

    mon besoin est on ne peut plus simple et dans le titre :

    Comment récupérer les coordonnées de la souris (i.e. sa position absolue par rapport à l'écran tout entier) ?

    Un fonction du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def get_mouse_coord () :
       ...
    qui renvoie les coordonnées de la souris sous forme d'une paire (x,y).

    Autant que possible je voudrais n'utiliser que des lib python standard (Tkinter par ex., mais pas win32api), et ne pas pas attendre un événement du genre clic ou déplacement...

    Avant de venir vous embêter, j'ai déjà cherché un peu partout, mais tout ce que je trouve est basé sur win32api ou une attente d’événement.

    Merci d'avance !
    Captain'Flam
    anciennement Sopsag, aka Hadrien
    Win seven x64 & Win 10 / Visual 2017 / Python 2.7 / Eclipse

  2. #2
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # Détection et positionnement d'un clic de souris dans une fenêtre :
    from tkinter import *
    def pointeur(event):
    chaine.configure(text = "Clic détecté en X =" + str(event.x) +\
    ", Y =" + str(event.y))
    fen = Tk()
    cadre = Frame(fen, width =200, height =150, bg="light yellow")
    cadre.bind("<Button-1>", pointeur)
    cadre.pack()
    chaine = Label(fen)
    chaine.pack()
    fen.mainloop()
    Désolé pour l'indentation, c'est une recopie exacte de la page 96 du livre de G. Swinnen…
    :-)

    Clodion

    PS: Bien vu wiztricks! :-)

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Avec tk:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import tkinter as tk
    >>> app = tk.Tk()
    >>> app.winfo_pointerxy()
    (955, 738)
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre confirmé
    Avatar de Captain'Flam
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 273
    Points : 455
    Points
    455
    Billets dans le blog
    1
    Par défaut
    Dé-gou-té !

    Sur tous les forums (fora ?) on trouve, au mieux, que ce n'est possible qu'avec win32api.

    Ou alors, sur détéction d'évenement, comme ici par exemple :
    rosettacode.org/wiki/Mouse_position.

    Et même dans ma bible de Tkinter, il n'est fait nulle part mention d'une telle fonction...

    Merci à toi ô wiztricks !
    Captain'Flam
    anciennement Sopsag, aka Hadrien
    Win seven x64 & Win 10 / Visual 2017 / Python 2.7 / Eclipse

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Et même dans ma bible de Tkinter, il n'est fait nulle part mention d'une telle fonction...
    Mais si, regardez dans le chapitre 26 - "Universal widget methods".
    Par contre, pas facile de penser a chercher la bas dedans.

    En fait, wm et winfo permettent d’accéder a certaines fonctionnalités du window manager sur lequel est construit Tk.

    Je vous ai donne les URL de la documentation Tk. Je trouve que les avoir empile dans des "universal widget methods" n'aide pas trop mais bon.

    Sur tous les forums (fora ?) on trouve, au mieux, que ce n'est possible qu'avec win32api. (ils sont nuls ici)
    Évidemment, c'est ce qu'on trouve le plus facilement en faisant une recherche sur Google.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    Bonjour, j'ai lu ceci et je serais intéressé par un truc encore plus poussé, car autant je suis capable de connaître la position sur un widget mais j'en suis incapable sur l'écran. J'ai trouvé des fonctions d'un module qui permettent de simuler un déplacement de souris ou l'appuis d'une touche mais je n'arrive pas à connaître la position du pointeur sur l'écran, ce qui pourrait être utile pour automatiser certaines tâches répétitives. Merci d'avance.
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Bonjour, j'ai lu ceci et je serais intéressé par un truc encore plus poussé, car autant je suis capable de connaître la position sur un widget mais j'en suis incapable sur l'écran. J'ai trouvé des fonctions d'un module qui permettent de simuler un déplacement de souris ou l'appuis d'une touche mais je n'arrive pas à connaître la position du pointeur sur l'écran, ce qui pourrait être utile pour automatiser certaines tâches répétitives. Merci d'avance.
    Tout cela dépendra de l'OS, c'est un tout autre sujet, tu vois où je veux en venir
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par stalacta Voir le message
    Bonjour, j'ai lu ceci et je serais intéressé par un truc encore plus poussé
    Ca devrait déjà exister dans les logiciels qui permettent d'automatiser les tests de GUI. Vous pouvez aller faire votre marché sur wikipedia
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2019
    Messages : 1
    Points : 3
    Points
    3
    Par défaut
    salut les aînés.
    Citation Envoyé par Clodion Voir le message
    Parlant justement de réponse de Clodion, à la suite du code posté dans ledit livre,il est demandé de modifier cet script afin qu'à endroit clic dans la canevas créer soit dessiné un petit cercle.Moi mon approche étais de récupérer les coordonnées en question dans une liste par exemple ensuite de les traités comme coordonnées du centre du cercle à l'instant du clic. Mais je n'y parvient pas ! S'il vous plaît, aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. graphics -ocaml- comment récupérer les coordonnées de la souris ?
    Par étudiante6 dans le forum Langages fonctionnels
    Réponses: 0
    Dernier message: 20/12/2012, 23h42
  2. Récupérer les coordonnées de la souris
    Par 3aychoucha dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/09/2011, 16h36
  3. Récupérer les coordonnées de la souris dans le ViewModel
    Par pansoul dans le forum Silverlight
    Réponses: 2
    Dernier message: 15/07/2010, 18h55
  4. [WD11] Récupérer les coordonnées d'une souris
    Par Redg9 dans le forum WinDev
    Réponses: 8
    Dernier message: 12/07/2010, 10h54
  5. récupérer les coordonnées de la souris
    Par miKL64 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 14/10/2007, 21h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo