Gibt es eine Möglichkeit, die Position der Maus zu erhalten und sie als Var zu setzen?Maus Position Python Tkinter
Antwort
Sie können einen Rückruf einrichten zu <Motion>
Ereignisse reagieren:
import Tkinter as tk
root = tk.Tk()
def motion(event):
x, y = event.x, event.y
print('{}, {}'.format(x, y))
root.bind('<Motion>', motion)
root.mainloop()
Ich bin mir nicht sicher, welche Art von Variablen, die Sie wollen. Oben habe ich die lokalen Variablen x
und y
auf die Mauskoordinaten gesetzt.
Wenn Sie motion
eine Klassenmethode machen, können Sie die Instanzattribute self.x
und self.y
auf die Mauskoordinaten setzen, auf die dann von anderen Klassenmethoden aus zugegriffen werden kann.
Zu jedem Zeitpunkt können Sie die Methode winfo_pointerx
und winfo_pointery
verwenden, um die XY-Koordinaten relativ zum Stammfenster zu ermitteln. Zu konvertieren, die auf absolute Bildschirm Koordinaten Sie die winfo_pointerx
oder winfo_pointery
bekommen können, und von diesem subtrahieren den jeweiligen winfo_rootx
oder winfo_rooty
Zum Beispiel:
root = tk.Tk()
...
x = root.winfo_pointerx()
y = root.winfo_pointery()
abs_coord_x = root.winfo_pointerx() - root.winfo_rootx()
abs_coord_y = root.winfo_pointery() - root.winfo_rooty()
Siehe auch: [Erhalten Sie Aktives Fenster mit Python] (http: //stackoverflow.com/q/10266281/562769) –