tkinterで複数の色を不規則に時間変化させることは可能ですか?
解決したいこと
tkinterにおいて、ラベルの色を時間経過によって、変化させようと考えています。
after()メソッドを使い、規則的に2色の変更なら可能です。しかし、複数の色を、不規則な時間間隔で変化させて、ループさせることは可能なのでしょうか。
発生している問題・エラー
以下のコードにおいて、ラベルの色を赤から始め、(青、白、緑、灰色)でループさせようと意図しました。しかし、緑からループが始まり、青は表示されずに残りの色でループし、この理由が分かりません。一つの関数に、複数のafter()メソッドが含まれることが問題かと思い、複数の関数に分割しても挙動は同じでした。教えて頂けたら幸いです。
該当するソースコード
import tkinter as tk
def update_off1():
lb.configure(bg = "white")
def update_off2():
lb.configure(bg = "gray")
def onoff():
#1
lb.configure(bg = "blue")
lb.after(1000, update_off1)
#2
lb.configure(bg = "green")
lb.after(2000, update_off2)
lb.after(3000, onoff)
root = tk.Tk()
root.geometry("300x200")
lb = tk.Label(root, text = "LB1",relief = tk.RAISED, width = 50, bg = "red")
lb.pack()
lb.after(3000, onoff)
root.mainloop()
0