Python Tkinter изменить каждый прямоугольник в списке - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь изменить цвет каждого прямоугольника в списке на другой цвет и нарисовать их все.Но по какой-то причине он либо меняет все прямоугольники на один цвет, либо остается прежним.

Вот код:

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 некорректно?

1 Ответ

0 голосов
/ 20 марта 2019

Вы не увеличиваете i должным образом, оно должно быть i+=1. Кроме того, вы еще не сказали, что такое newAuto, но я думаю, строка должна читать canves.itemconfig(elem, fill=colorMap[str(i)]). Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...