HOWTO · Tkinter
Tkinter ボタンの色を変更する方法
このチュートリアルでは、Tkinter ボタンの色を設定する方法を紹介します。
Tkinter のボタンウィジェットには、背景色と前景色を設定するための属性 bg と fg があります。Button オブジェクトを初期化するときに bg と fg に色を割り当て、configure メソッドで Tkinter Button の色を変更するか、新しい値を bg と fg キーに割り当てることができます。
Tkinter Button の色を設定する
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("250x100")
self.buttonA = tk.Button(self.root, text="Color", bg="blue", fg="red")
self.buttonB = tk.Button(
self.root, text="Click to change color", bg="gray", fg="purple"
)
self.buttonA.pack(side=tk.LEFT)
self.buttonB.pack(side=tk.RIGHT)
self.root.mainloop()
app = Test()

また、bg を background に、fg を foreground に置き換えて、Tkinter の Button の背景と前景色を設定することもできます。
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("250x100")
self.buttonA = tk.Button(
self.root, text="Color", background="blue", foreground="red"
)
self.buttonB = tk.Button(
self.root,
text="Click to change color",
background="gray",
foreground="purple",
)
self.buttonA.pack(side=tk.LEFT)
self.buttonB.pack(side=tk.RIGHT)
self.root.mainloop()
app = Test()
configure メソッドで Tkinter の Button の色を変更する
Tkinter の Button ウィジェットが作成された後、configure メソッドを使用してその色を変更できます。
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("250x100")
self.buttonA = tk.Button(self.root, text="Color", bg="blue", fg="red")
self.buttonB = tk.Button(
self.root, text="Click to change color", command=self.changeColor
)
self.buttonA.pack(side=tk.LEFT)
self.buttonB.pack(side=tk.RIGHT)
self.root.mainloop()
def changeColor(self):
self.buttonA.configure(bg="yellow")
app = Test()

self.buttonA.configure(bg="yellow")
background または bg を黄色に設定します。
Tkinter の Button の色を bg/fg 属性で変更する
bg と fg は Tkinter の Button ウィジェットオブジェクトディクショナリの keys なので、これらの keys に新しい値を割り当てることで Tkinter の Button の色を変更できます。
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("250x100")
self.buttonA = tk.Button(self.root, text="Color", bg="blue", fg="red")
self.buttonB = tk.Button(
self.root, text="Click to change color", command=self.changeColor
)
self.buttonA.pack(side=tk.LEFT)
self.buttonB.pack(side=tk.RIGHT)
self.root.mainloop()
def changeColor(self):
self.buttonA["bg"] = "gray"
self.buttonA["fg"] = "cyan"
app = Test()
