Comment dessiner un polygone sur un tkinter, de la toile à l'aide d'une classe?

from tkinter import*

root = Tk()
shape = Canvas(root)

class GUI():
    def __init__(self):
        pass

    def create_polygon(self, points, colour, posit):
        try:
            shape.delete(self.poly)
        except:
            pass
        self.poly = shape.create_polygon(points, colour, posit)
        self.poly.shape.grid(column=posit[0],row=posit[1])

polygon = GUI()
polygon.create_polygon([150,75,225,0,300,75,225,150],'yellow',[1,2])

Je suis nouveau à l'aide de tkinter et les classes, mais je veux faire une classe très simple pour créer un polygone régulier. Le code de ce programme devrait supprimer n'importe quel polygone déjà fait et ensuite procéder à un nouveau polygone lorsque le programme est appelé, mais je reçois un message d'erreur que je ne comprends pas. Aussi, comment feriez-vous dessiner un hexagone à la place?

Traceback (most recent call last):
  File "//xsvr-02/Students/10SAMP_Al/HW/polygon creator.py", line 19, in <module>
polygon.create_polygon([150,75,225,0,300,75,225,150],'yellow',[1,2])
 File "//xsvr-02/Students/10SAMP_Al/HW/polygon creator.py", line 15, in create_polygon
self.poly = shape.create_polygon(points, colour, posit)
 File "C:\Python34\lib\tkinter\__init__.py", line 2305, in create_polygon
return self._create('polygon', args, kw)
File "C:\Python34\lib\tkinter\__init__.py", line 2287, in _create
*(args + self._options(cnf, kw))))
_tkinter.TclError: wrong # coordinates: expected an even number, got 11
InformationsquelleAutor Frosty feet | 2015-11-17