1, 色の設定に関して
Python
1self['bg'] = "#333333"#←?
オプションの設定
Canvasを継承してAクラスのbgというオプションに対して、
カーラーコード "#333333" を設定しています。
◇参考情報
#333333 Color Hex Gray20
2, 背景色が変わらない理由について
Python
1 a.mainloop() # 原因はここでウィンドウが閉じるまでmainloopの処理を続けているため。
2 a.change() # この行が実行されないからです。
回答欄に書ききれないほど解説が長くなるので、「イベントドリブン tkinter python」でまずググってみてくださいな。
Python
1# -*- coding: utf-8 -*-
2from tkinter import *
3
4
5class A(Canvas):
6
7 def __init__(self, master=None, cnf={}, **kw):
8 Canvas.__init__(self, master, bg="black")
9 self.after(3000, self.change) # 3000ミリ秒(3秒)後に背景色を変更
10
11 def change(self):
12 self['bg'] = "#05B3FF" # 色がGrayだと変化が分かりづらいので他の色に
13
14
15
16if __name__ == "__main__":
17 a = A()
18 a.pack()
19 a.mainloop()
20
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。