python Tkinter更改列表中的每个矩形

问题描述 投票:0回答:1

我试图将列表中每个矩形的颜色更改为不同的颜色并将它们全部绘制出来。但由于某种原因,它要么将所有矩形更改为相同的颜色,要么保持不变。

这是代码:

def draw(newAuto,canves):
    colorMap = {
        "0":"green",
        "1":"blue",
        "2":"red"
    }
    i=0
    for elem in canves.find_withtag("my_tag"):
        canves.itemconfig(elem, fill=colorMap[str(newAuto[i])])
        i+=i
    canves.after(100, canves.update())

我不知道如何调试它,因为我找不到矩形元素的位置,任何想法为什么会这样?也许使用update / after不正确?

python tkinter
1个回答
0
投票

你没有正确增加i,它应该是i+=1。你还没有说什么newAuto,但我想这行应该读canves.itemconfig(elem, fill=colorMap[str(i)])。希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.