Весь виджет зависает / не загружается при попытке self.after () в Tkinter - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу создать простое окно, показывающее немного текста, который быстро переключается между тремя основными цветами. Когда я пробую этот код, окно не загружается в течение нескольких секунд, тогда текст просто отображается красным, а не меняется. Что я делаю неправильно? Спасибо

from tkinter import *

PRIMARY = ("#FF0000", "#00FF00", "#0000FF")


class Multicolour(Frame):
    def __init__(self, master):
        super().__init__(master)
        self.grid()
        self.txt = Label(self,
                         text="Colour change")
        self.txt.grid()
        self.colour_index = 0
        for i in range(3000):
            self.after(10, self.change)

    def change(self):
        self.txt.configure(fg=PRIMARY[self.colour_index])
        self.colour_index += 1
        if self.colour_index > 2:
            self.colour_index = 0


root = Tk()
app = Multicolour(root)
root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...