это я снова :) Я продолжаю свой проект. Я застрял (как новичок в этом): У меня есть таблица (список из 4 списков по 4 элемента каждый. Длина гибкая, хотя это только простой пример для вопроса). так вот мой код:Как рисовать таблицу квадратов на холсте tkinter на основе таблицы (списка списков)?
from tkinter import*
l=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
n=len(l) #this is the length of the list l
lngt=400/len(l) #this is the dimension of the squares that I want
fen=Tk()
fen.geometry("600x400")
#I would like to create a table of 4 rows on canvas
#each row should contain 4 squares
can=Canvas(fen,width=450,height=400,bg="lightblue")
can.pack(side=LEFT)
for i in range(n):
can.create_rectangle(n, i*(lngt) ,n+lngt, i*n+(i+1)*lngt, fill="red")
f=Frame(fen,width=150,height=400,bg="lightcoral")
f.pack(side=LEFT)
fen.mainloop()
В настоящее время, я только получить столбец из 4 квадратов на левой стороне холста. Все мои испытания не смогли создать 12 других квадратов.
Спасибо огромное!
Попробуйте использовать цикл 'for' в цикле' for'. Внешний контур может быть для столбцов, тогда как внутренний цикл для каждой строки внутри одного из столбцов. – jcfollower
Что значит «12 других квадратов»? Это 'l' имеет длину 4, поэтому' n' равно 4. В чем цель 'l'? Код, который вы опубликовали, не использует его, кроме вычисления его длины. –
Я пробовал так, но это не сильно изменилось. Я попытался с помощью «j», но я действительно не знаю, где использовать «j». – Chihab