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])
Привет Я новичок в использовании tkinter и классов, но хочу создать очень простой класс для создания правильного многоугольника. Код в этой программе должен удалить ранее сделанный полигон, а затем приступить к созданию нового многоугольника при вызове программы, но я продолжаю получать ошибку, которую я не понимаю. Также как бы вы взялись за использование шестиугольника?Как нарисовать многоугольник на холсте tkinter в python, используя класс
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
Спасибо за помощь! –
Было бы грубым попросить объяснить, как работают координаты при рисовании фигур? –
Когда вы вызываете 'create_polygon ([150,75,225,0,300,75,225,150]', он начинает рисовать строки из '(150,75)' to '(225,0)' и т. Д., В конце концов он рисует линию из последней точки – Zety