Tkinterでウィンドウの背景色を変更した時に、部品の周りに異なる背景色が表示される。 ウィンドウの背景色に合せるために、Tkinterで部品の背景色を変更したい。
コード例
import tkinter as tk
root = tk.Tk()
root.title("部品の背景色")
root["bg"] = "#454199"
root.geometry("200x100")
lbl = tk.Label(root, text="ラベル")
lbl.pack(anchor=tk.NW)
btn = tk.Button(root, text="ボタン")
btn.pack(anchor=tk.CENTER)
root.mainloop()
表示例
解決策
各ウィジェットの背景色(bg
)にウィンドウの背景色を指定する。
ただし、MacOSの場合は、ボタンの背景色(bg
)を指定しても色が変わらないため、代りにhighlightbackground
で背景色を変更する。
コード例
import tkinter as tk
root = tk.Tk()
root.title("部品の背景色")
root["bg"] = "#454199"
root.geometry("250x100")
lbl = tk.Label(root, text="ラベルはbgで変更可")
lbl["bg"] = "#454199"
lbl.pack(anchor=tk.NW)
btn = tk.Button(root, text="ボタンはbgで変更不可")
btn["bg"] = "#454199"
btn.pack(anchor=tk.CENTER)
btn2 = tk.Button(root, text="highlightbackgroundで変更可")
btn2["highlightbackground"] = "#454199"
btn2.pack(anchor=tk.CENTER)
root.mainloop()