Also habe ich einen Code von meinem Vorgesetzten, mit dem ich Verständnisprobleme habe. Ich möchte ein Rechteck zeichnen, wo mein Cursor unter Verwendung der create_rectangle
Verfahren für die ich Argumente geben/Koordinaten als:Ermitteln der absoluten Position des Cursors in tkinter
rect = create_rectangle(x, y, x + 10, y + 10, fill = 'blue', width = 0)
Ich wünsche x
und y
hier die aktuellen Koordinaten meines Cursor zu sein in Bezug auf mein Wurzelfenster.
Die Art und Weise x
und y
in meinem Code berechnet werden, bevor sie an diese Funktion übergeben ist:
x = root.winfo_pointerx() - root.winfo_rootx()
y = root.winfo_pointery() - root.winfo_rooty()
Und ich kann mich nicht für das Leben verstehen, warum dies geschehen ist. Ich versuchte dabei nur
x = root.winfo_pointerx()
y = root.winfo_pointery()
und auch nur
x = root.winfo_rootx()
y = root.winfo_rooty()
aber keiner dieser ziehen Sie das Rechteck, wo der Cursor befindet. Ich habe auch versucht, in die Dokumentation zu schauen, kann aber nicht wirklich verstehen, was passiert.
Warum werden x = root.winfo_pointerx() - root.winfo_rootx()
und y = root.winfo_pointery() - root.winfo_rooty()
hier ausgeführt?
'winfo_pointer()' = Position des Cursors auf dem Bildschirm. 'winfo_root()' = Position des Fensters auf dem Bildschirm. 'winfo_pointer() - winfo_root()' = Position des Cursors in Ihrem Fenster. –