前置き
Tkinterでチェックボックスの背景色(bg)を変更したらチェックマークの表示がされなくなった!
そんなトラブルの対処法を紹介していきます。
表示されない場合のコード
下記のコードで実行した場合、チェックボックスにチェックの表示がなくなります。
example.py
# ↑省略
bln = tk.BooleanVar()
bln.set(False)
chk = tk.Checkbutton(root, variable=bln, text="test", bg="#000000", fg="#ffffff")
chk.pack()
# ↓省略
原因
チェックマークの色を指定していないことが原因です。
つまり白いボックス内に白くチェックマークが表示されているため、何も表示されていないように見えるだけなのです。
対処法
「tk.Checkbutton」のオプションである「selectcolor」を使用します。
bgやfgと同じような記述で問題ありません。
exsample.py
bln = tk.BooleanVar()
bln.set(False)
# 括弧内の最後の様に色を指定してあげてください。
chk = tk.Checkbutton(root, variable=bln, text="test", bg="#000000", fg="#ffffff", selectcolor="#000000")
chk.pack()