Tkinter Canvas 多边形对象问题
Tkinter Canvas polygon object issues
我看到了这个 post:
但是当我试图画一个正方形时:
from Tkinter import*
root = Tk()
class GUI(Canvas):
'''inherits Canvas class (all Canvas methodes, attributes will be accessible)
You can add your customized methods here.
'''
def __init__(self,master,*args,**kwargs):
Canvas.__init__(self, master=master, *args, **kwargs)
polygon = GUI(root)
polygon.create_polygon([0, 0, 100, 100, 100, 0, 100], outline='gray', fill='gray', width=2)
polygon.pack()
root.mainloop()
我明白了:
expected even number: got 7
我已经尝试了所有我能想到的方法,但我无法让它工作!
当 create_polygon
方法需要偶数个参数时,为什么不提供偶数?
create_polygon
方法采用 [x0, y0, x1, y1, ...]
形式的参数,其中 (x0, y0), ... 是多边形的顶点。每个顶点有2个坐标,因此参数个数必须为偶数。
polygon.create_polygon([0, 0, 100, 0, 100, 100, 0, 100], outline='gray', fill='gray', width=2)
应该适用于顶点为 (0,0)
、(100,0)
、(100,100)
、(0,100)
.
的正方形
我看到了这个 post:
但是当我试图画一个正方形时:
from Tkinter import*
root = Tk()
class GUI(Canvas):
'''inherits Canvas class (all Canvas methodes, attributes will be accessible)
You can add your customized methods here.
'''
def __init__(self,master,*args,**kwargs):
Canvas.__init__(self, master=master, *args, **kwargs)
polygon = GUI(root)
polygon.create_polygon([0, 0, 100, 100, 100, 0, 100], outline='gray', fill='gray', width=2)
polygon.pack()
root.mainloop()
我明白了:
expected even number: got 7
我已经尝试了所有我能想到的方法,但我无法让它工作!
当 create_polygon
方法需要偶数个参数时,为什么不提供偶数?
create_polygon
方法采用 [x0, y0, x1, y1, ...]
形式的参数,其中 (x0, y0), ... 是多边形的顶点。每个顶点有2个坐标,因此参数个数必须为偶数。
polygon.create_polygon([0, 0, 100, 0, 100, 100, 0, 100], outline='gray', fill='gray', width=2)
应该适用于顶点为 (0,0)
、(100,0)
、(100,100)
、(0,100)
.