Canvas: Nächstes Item mit Tag finden

Fragen zu Tkinter.
Antworten
franky_b52
User
Beiträge: 3
Registriert: Dienstag 22. September 2009, 09:54

Hallo,

ich habe da ein kleines Problem und ich hoffe, es gibt eine einfache Lösung dafür:
Ich möchte das nächste Item in einer Canvas finden, dass ein bestimmtes Tag enthält.
Also quasi canvas.find_closest(x,y) + canvas.find_withtag("selectable").

Kennt jemand dafür ein Rezept?

Viele Grüße,
Frank
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

franky_b52 hat geschrieben:Ich möchte das nächste Item in einer Canvas finden, dass ein bestimmtes Tag enthält.
Also quasi canvas.find_closest(x,y) + canvas.find_withtag("selectable").
Kennt jemand dafür ein Rezept?
Schreib dir eine Abstandsfunktion die den Abstand zwischen einem Punkt und einem Canvas-Objekt ermittelt, wende sie auf jedes Objekt an, das sich in der Liste befindet, die find_withtag() liefert, und nimm dann das Objekt, bei dem dieser Abstand am kleinsten ist.
franky_b52
User
Beiträge: 3
Registriert: Dienstag 22. September 2009, 09:54

Das ist natürlich eine Variante an die ich noch garnicht gedacht habe.

Viele Grüße und vielen Dank,
Frank
franky_b52
User
Beiträge: 3
Registriert: Dienstag 22. September 2009, 09:54

Nachträglich möchte ich noch meine letztlich verwendete Variante nennen:
ich habe das störende Item (in diesem Fall eine Art Zeiger) vor dem suchen mit Find_Closest() einfach gelöscht und danach wieder eingezeichnet.
Das ging schneller zu programmieren.
Gruß, Frank
Antworten