Seite 1 von 1

Koordinaten eines Polygons verändern

Verfasst: Montag 1. September 2014, 21:57
von Papp Nase
Hallo,

ich möchte gerne die Koordinaten eines Polygons ändern. Leider weis ich nicht, wie ich auf die Koordinaten zugreifen kann. Ich habe es so probiert,

Code: Alles auswählen

try:
    import tkinter as tk
except:
    import Tkinter as tk
    


root = tk.Tk()

canvas = tk.Canvas(root)

p_1 = (30, 30)
p_2 = (30, 100)
p_3 = (100, 30)

polygon = canvas.create_polygon(p_1, p_2, p_3)

canvas.pack()

p_1_neu = (50, 50)

canvas.coords(polygon, p_1_neu, p_2, p_3)

root.mainloop()
aber es funktioniert nicht.

Re: Koordinaten eines Polygons verändern

Verfasst: Montag 1. September 2014, 22:21
von /me
canvas.coords will einzelne Werte haben, nicht Tupel.

Code: Alles auswählen

canvas.coords(polygon, p_1_neu[0], p_1_neu[1], p_2[0], p_2[1], p_3[0], p_3[1])
Praktischer wäre es. wenn du die Punkte in einer Liste hättest. Bei Einsatz der passenden Funktion aus itertools ist die Anzahl der Parameter beliebig.

Code: Alles auswählen

points = [p_1_neu, p_2, p_3]
canvas.coords(polygon, *itertools.chain.from_iterable(points))
Ich habe übrigens noch nie mit tkinter gearbeitet, aber das war nun wirklich leicht herauszufinden ...