Tkinter-创建5x5圆圈矩阵,空格介于

时间:2017-11-18 20:49:10

标签: python python-3.x tkinter

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的圆圈,中间没有空格。我似乎无法弄清楚如何将它们分开。

2 个答案:

答案 0 :(得分:2)

方法create_oval accepts x0,y0,x1,y1作为参数。因此,如果您希望圈子的直径为40,则x0x1以及y0y1之间的差异应为40.您可以使用:

c.create_oval(50*col, 50*row, (50*(col+1)) - 10, (50*(row+1))) - 10)

这只会从x1y1中减去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