Итак, я создаю игру жизни на python и хотел бы создать сетку поверх холста, используя класс python tkinter. Заранее спасибо.
Чтобы создать сетку, я использую функцию create_line () класса canvas и перебираю функцию range (), чтобы мои линии рисовались по ширине и высоте холста, используя два отдельных цикла for один для ширины и один для высоты. Циклы, которые я получил, взяты из следующего фрагмента кода в stackoverflow: Как создать сетку на tkinter в python?
Я думал, что понял, что происходит, но то, что, как я думал, должно произойти, не
from tkinter import *
from random import *
window = Tk()
window.title('Game Of Life')
canvas = Canvas(window, background='white', width=800, height=600)
def create_grid(canvas):
width = canvas.winfo_width() # gets width of the canvas
height = canvas.winfo_height() # gets height of the canvas
for line in range(0, width, 1): # range(start, stop, step)
canvas.create_line([(line, 0), (line, height)], fill='black', tags='grid_line_w')
for line in range(0, height, 1):
canvas.create_line([(0, line), (width, line)], fill='black', tags='grid_line_h')
create_grid(canvas)
canvas.grid(row=0, column=0)
window.mainloop()
Мои ожидаемые результаты - белый холст с вертикальными и горизонтальными линиями, растягивающими ширину и высоту холста. Но мои реальные результаты - это просто белый холст без линий сверху.