5 votes

Comment puis-je obtenir la position de la souris par rapport au widget parent dans tkinter ?

J'ai besoin d'obtenir la position de la souris par rapport à la fenêtre tkinter.

6voto

Bryan Oakley Points 63365

D'une manière générale, vous ne devriez jamais avoir besoin d'obtenir ces informations, car elles vous sont données dans le cadre de l'objet événement qui vous est transmis. Vous n'avez probablement besoin de cette information que lorsque vous répondez à un événement, et c'est l'événement qui vous donne cette information.

En termes plus succincts, pour obtenir l'information, il suffit de la récupérer dans l'objet événement.

Voici un exemple :

import Tkinter

class App:
    def __init__(self, root):
        f = Tkinter.Frame(width=100, height=100, background="bisque")
        f.pack(padx=100, pady=100)
        f.bind("<1>", self.OnMouseDown)

    def OnMouseDown(self, event):
        print "frame coordinates: %s/%s" % (event.x, event.y)
        print "root coordinates: %s/%s" % (event.x_root, event.y_root)

root=Tkinter.Tk()
app = App(root)
root.mainloop()

3voto

Aaron Digulla Points 143830

Obtenez les coordonnées de l'écran de l'événement de déplacement de la souris ( x / y_root ) et soustraire les coordonnées de l'écran de la fenêtre ( window.winfo_rootx() / y() ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X