如何修复网格?

时间:2015-03-25 19:59:24

标签: python tkinter

对于我正在创建的棋盘游戏程序,我通过使用canvas.create_rectangle循环遍历行和列来绘制棋盘。我希望它看起来像一个网格,所以每个矩形都有一个边框。

目前我所拥有的是:

def draw_board(canvas, width, height, n):
    for row in range(n+1):
        for col in range(n+1):
            canvas.create_rectangle(row*height/n,col*width/n,(row+1)*height/n,(col+1)*width/n,width=0,fill='white',outline='black')

from Tkinter import *
import math

width = 500
height = 500
n = 10

window=Tk()
window.title('Color grid')

canvas=Canvas(window,width=width,height=height,highlightthickness=0)
canvas.grid(row=0,column=0,columnspan=5)

draw_board(canvas, width, height, 10)

window.mainloop()

但是,当我运行程序时,大纲不会出现,我最终只会得到一个白色窗口。

1 个答案:

答案 0 :(得分:1)

只需查看您的代码。

canvas.create_rectangle(row*height/n,col*width/n,(row+1)*height/n,(col+1)*width/n,width=0,fill='white',outline='black')

来自TKinter参考:

  

宽度 - 边框宽度。默认值为1像素。使用width = 0使边框不可见。

您将宽度设置为0.因此它是不可见的。这就是为什么你只看到一个白色的窗口。

编辑:此外,您不需要outline='black',因为这是默认设置。