for row in range(0,5):
for col in range(0,5):
c.create_oval(50*col, 50*row, 50*(col+1), 50*(row+1))
我试图创建一个5x5的圆形矩阵(在一个250x250的窗口上)。我希望圆圈的直径为40,它们之间的间距为10。我的代码现在创建直径为50的圆圈,中间没有空格。我似乎无法弄清楚如何将它们分开。
答案 0 :(得分:2)
方法create_oval accepts
x0,y0,x1,y1
作为参数。因此,如果您希望圈子的直径为40,则x0
和x1
以及y0
和y1
之间的差异应为40.您可以使用:
c.create_oval(50*col, 50*row, (50*(col+1)) - 10, (50*(row+1))) - 10)
这只会从x1
和y1
中减去10,从而缩短直径,这也会创建您想要的空间。它也相当于:
c.create_oval(50*col, 50*row, (50*col) + 40, 50*(row) + 40)
答案 1 :(得分:-1)
对于行和列两者,如果从第二个圆圈开始,它从10 +前一个圆圈末端开始,则它会间隔开
b = 0
for row in range(0,5):
a = 0;
for col in range(0,5):
canvas.create_oval(40*col+a, 40*row+b, 40*(col+1)+a, 40*
(row+1)+b)
a = a + 10
b = b + 10