How do I programmatically change the color of a Tkinter label?

I am trying to change the color of a Tkinter label when the user clicks on a validate button. I am having problems writing the function correctly and connecting it to a command parameter.

Here is my code:

import Tkinter as tk

root = tk.Tk()
app = tk.Frame(root)
app.pack()

label = tk.Label(app, bg="white", pady=5, font=(None, 1), height=20, width=720)
checkbox = tk.Checkbutton(app, bg="white", command=DarkenLabel)
label.grid(row=0, column=0, sticky="ew")
checkbox.grid(row=0, column=0, sticky="w")

def DarkenLabel():
    label.config(bg="gray")

root.mainloop()

      

thank

+3


source to share


1 answer


Your code command=DarkenLabel

cannot find a reference to the DarkenLabel function. So you need to define the function above this line, so you can use your code like this:

import Tkinter as tk


def DarkenLabel():
    label.config(bg="gray")

root = tk.Tk()
app = tk.Frame(root)
app.pack()

label = tk.Label(app, bg="white", pady=5, font=(None, 1), height=20, width=720)
checkbox = tk.Checkbutton(app, bg="white", command=DarkenLabel)
label.grid(row=0, column=0, sticky="ew")
checkbox.grid(row=0, column=0, sticky="w")
root.mainloop()

      



Hope it helps!

+5


source







All Articles