繁体   English   中英

使用Tkinter画布创建形状

[英]Creating shapes with Tkinter canvas

如果我有一些创建包含“#”,“,”,“ X”和“ O”的网格的列表,我该如何使用Tkinter库将它们表示为画布上的不同颜色的正方形?

我可以为其中一个列表静态地执行此操作,但是不确定如何使其动态化,以便可以在每个列表中加载。

这是我希望在其上创建的画布:

self._canvas = Canvas(root, relief=SUNKEN, bg="black", width=300, height=300)
self._canvas.pack(side=TOP, expand=True, fill=BOTH)

我不确定您的问题是什么,但是您可以像这样遍历网格:

DICT_COLOR = {'#':'red', 'X':'green', 'O':'yellow'}
SIZE_X = 300/len(grid[0])
SIZE_Y = 300/len(grid)
for i, line in enumerate(grid):
    for j, value in enumerate(line):
        self._canvas.create_rectangle(j*SIZE_X,
                                      i*SIZE_Y, 
                                      (j+1)*SIZE_X, 
                                      (i+1)*SIZE_Y, 
                                      fill=DICT_COLOR[value])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM